Nad automatycznym wywoływaniem projektów czuwa aplikacja serwera, który jest integralną częścią pakietu aplikacji GRAVITY.INTEGRATION.
W zależności od wymagań i preferencji serwer jest dostępny w dwóch formach:
- 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 informacje o starcie usługi oraz o przebiegu uruchomienia i rezultacie wywoływanych wyzwalaczy.C:\ProgramData\Caffeine Minds\Gravity\ServerLogs- zawiera log z informacjami związane 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 na uniknięcie 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, gdzie usługa tworzy 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), tym bardziej 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 jest z logowaniem jako “Lokalne konto systemowe”. Może to powodować problemy z uprawnieniami niezbędnymi do podłączenia się do używanych źródeł danych (katalogi na dysku sieciowym, ODBC, bazy danych z logowaniem domenowym, itp).
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 aplikacji jak w przypadku usługi, a jedynie wskazanego triggera.
Aplikacje serwera znajdziesz po instalacji systemu GRAVITY pod nazwą GravityTriggersRunner.exe i musi ona być uruchomiona z uprawnieniami administratora.
Aplikacja GravityTriggerRunner składa się z dwóch zakładek:
- Triggers control
- Log.
Zakładka Log
Zakładka Log przedstawia informacje o zdarzeniach zachodzących w aplikacji serwera. Rejestrowane jest uruchomienie serwera jak i wywołanie, poszczególne kroki oraz rezultat działania wyzwalaczy. Log jest jest zapisywany równocześnie do plikach logu w katalogu: C:\ProgramData\Caffeine Minds\Gravity\ServiceLogs. W samej aplikacji utrzymywane jest ostatnich 1000 wierszy logu, a na żądanie może być czyszczony 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 wraz z informacją w jakim stanie aktualnie się znajdują, czasach ostatniego uruchomienia, ilości pozytywnie i błędnie wykonanych wywołań oraz akcję dla każdego triggera.
Po uruchomieniu aplikacji, zaczytaniu triggerów i projektów, system jeśli 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 ma zestaw opcji pozwalających na zarządzanie jego stanem:
- może zostać ponownie włączony (opcja 1) - jeśli zmieniła się definicja procesu, nie zostanie ona ponownie zaczytana,
- może zostać wyłączony (opcja 2),
- może zostać przeładowany (opcja 3) - użyj jeśli zmieniła się definicja procesu. Pozostałe triggery pracują bez zakłóceń.
- można podejrzeć log wykonań triggera (opcja 4) - przydatne w sprawdzeniu powodu błędnego wywołania.
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 doszły nowe lub zostały usunięte jakieś triggery i wczytuje je do sytemu (nie powoduje restartu już istniejących, a jedynie doczytanie nowych i usunięcie nie istniejących).