Za automatyczne wywoływanie projektów odpowiada serwer stanowiący integralny element pakietu GRAVITY.INTEGRATION.
W zależności od potrzeb środowiska i preferencji użytkownika, serwer może być uruchamiany w jednej z dwóch form:
- jako usługa systemu Windows,
- jako aplikacja z interfejsem użytkownika.
Serwer jako usługa systemu Windows (gravity.integration service)
Usługa jest instalowana w systemie wraz z oprogramowaniem GRAVITY. Usługa nie posiada interfejsu graficznego, ale można śledzić działanie wykonanych wyzwalaczy w plikach logów, które generują się dla każdego dnia.
Pliki logów dostępne są domyślnie w katalogach:
C:\ProgramData\Caffeine Minds\Gravity\ServiceLogs- log z informacjami o działaniu usługi. Zawiera szczegółowe dane dotyczące uruchomienia usługi, przebiegu jej działania oraz wyników wywoływanych wyzwalaczy.C:\ProgramData\Caffeine Minds\Gravity\ServerLogs- zawiera log z danymi związanymi z pracą serwera www hostującego zdefiniowane usługi WebService.
Usługa domyślnie instalowana jest w trybie uruchamiania ręcznego i jest wyłączona.
Możesz to zmienić w właściwościach usługi pole typ uruchomienia.
Zalecanym sposobem uruchomienia usługi jest ustawienie trybu Automatyczny (opóźnione uruchomienia). Obniżenie priorytetu uruchomienia usługi pozwala uniknąć błędów związanych z brakiem gotowości innych komponentów systemu Windows (np. brakiem gotowości sieci) lub brakiem dostępu do innych systemów, z którymi usługa nawiązuje połączenie już w momencie startu (bazy danych - Wywołanie automatyczne przez mechanizm notyfikacji bazy danych, brokery - Wywołanie automatyczne przez odebranie wiadomości od brokera RabbitMQ i inne serwery), zwłaszcza jeśli znajdują się na tym samym serwerze.
Usługa jest przewidziana do użycia w środowisku produkcyjnym, ale nic nie stoi na przeszkodzie, aby używać jej trybie deweloperskim.
Usługa domyślnie jest instalowana z logowaniem jako “Lokalne konto systemowe”. Taka konfiguracja może powodować problemy z uprawnieniami wymaganymi do uzyskania dostępu do niektórych źródeł danych, takich jak katalogi na dyskach sieciowych, połączenia ODBC czy bazy danych wymagające logowania domenowego.
W takim przypadku należy zmienić sposób logowania usługi w właściwościach na zakładce “Logowanie” i wskazać konto użytkownika posiadające niezbędne uprawnienia.
Należy pamiętać, aby po aktualizacji systemu ponownie zmienić konto. System GRAVITY nie pobiera i nie przechowuje lokalnych kont użytkowników.
Serwer jako aplikacja (GravityTriggerRunner)
Przewidziana do działania w środowisku developerskim. Dzięki interfejsowi graficznemu sprawdzenie poprawności wykonywania projektów, restartowania, wczytania nowych triggerów i projektów jest dużo prostsze. Nie wymaga restartu całej aplikacji, jak w przypadku usługi, a jedynie ponownego uruchomienia wskazanego triggera.
Po instalacji systemu GRAVITY aplikację serwera znajdziesz pod nazwą GravityTriggersRunner.exe. Aplikacja musi zostać uruchomiona z uprawnieniami administratora.
Aplikacja GravityTriggerRunner składa się z dwóch zakładek:
- Log
- Triggers control.
Zakładka Log
Zakładka Log przedstawia informacje o zdarzeniach zachodzących w aplikacji serwera. Rejestrowane jest uruchomienie serwera, jego wywołania, poszczególne kroki oraz rezultat działania wyzwalaczy. Log jest jest zapisywany równocześnie w plikach logu w katalogu C:\ProgramData\Caffeine Minds\Gravity\ServiceLogs. W samej aplikacji przechowywane jest ostatnich 1000 wierszy logu, który można w razie potrzeby wyczyścić przyciskiem Clear.
Zakładka Triggers Control
Zakładka zawiera listę zdefiniowanych wyzwalaczy, które mają zaznaczony przełącznik Enabled na konfiguracji triggera. Triggery są zgrupowane w katalogi, które można zwijać i rozwijać kliknięciem myszki. Lista zawiera podstawowe informacje o wyzwalaczach, w tym o ich aktualnym stanie, czasie ostatniego uruchomienia, liczbie poprawnie i błędnie wykonanych wywołań oraz o akcji przypisanej do każdego triggera.
Po uruchomieniu aplikacji oraz wczytaniu triggerów i projektów, system - o ile nie wystąpił żaden błąd w definicji projektu powiązanego z wyzwalaczem - ustawia triggery w statusie Run.
Trigger może znajdować się w następujących stanach:
- Run → włączony i oczekujący na wywołanie,
- Processing → w trakcie przetwarzania wywołania,
- Stop → zatrzymany, wywołanie triggera nie jest możliwe,
- Restarting → w trakcie restartowania.
Każdy trigger udostępnia zestaw opcji umożliwiających zarządzanie jego stanem:
- Opcja 1 - Ponowne włączenie - uruchamia trigger ponownie; jeśli zmieniła się definicja procesu, nie zostanie ona automatycznie wczytana,
- Opcja 2 - Wyłączenie - zatrzymuje działanie triggera,
- Opcja 3 - Przeładowanie - użyj tej opcji, gdy zmieniła się definicja procesu; pozostałe triggery będą działać bez zakłóceń,
- Opcja 4 - Podgląd logu - umożliwia sprawdzenie historii wykonań triggera i diagnozę ewentualnych błędów.
Podwójne kliknięcie w zapis logu pozwala zobaczyć szczegóły wykonania.
Nad listą widnieją przyciski odpowiadające za akcje globalne dla całej listy:
- Refresh list → odświeża dane listy, nie powoduje wczytania nowych danych po modyfikacji projektów lub triggerów.
- Restart All → restartuje wszystkie triggery widniejące na liście, zaczytując ponownie ich konfiguracje oraz konfiguracje projektów.
- Update Triggers → sprawdza czy pojawiły się nowe lub zostały usunięte istniejące triggery i wczytuje zmiany do sytemu (nie powoduje restartu już istniejących, a jedynie doczytanie nowych i usunięcie nieistniejących).