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 wyzwalaczyC:\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: gotowość 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 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 wyzwalacza wraz z informacją w jakim stanie aktualnie się znajduje, 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 się zmieniła 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)