StudioSystem

Instalacja usługi SSJob w Windows

Usługa odpowiadająca za zadania automatyczne platformy - od umieszczenia plików i rejestracji narzędziem InstallUtil po weryfikację w aplecie Usługi i diagnostykę w Dzienniku zdarzeń.

studiosystem.softwarestudio.com.pl/transakcje/
Menu modułu Administrator w StudioSystem z pozycją SSJob wśród sekcji konfiguracyjnych
Menu modułu Administrator w StudioSystem z pozycją SSJob wśród sekcji konfiguracyjnych
W skrócie

SSJob to usługa systemu Windows wykonująca zadania automatyczne platformy StudioSystem. Instaluje się ją narzędziem InstallUtil z .NET Framework 4.0, z wiersza poleceń uruchomionego jako administrator. Poprawność rejestracji sprawdza się w aplecie Usługi, a komunikaty z działania trafiają do Dziennika zdarzeń systemu Windows.

Czym jest usługa SSJob

Część pracy systemu magazynowego nie może zależeć od tego, czy ktoś jest zalogowany. Kopia bazy danych powinna wykonać się w nocy, indeksy wymagają okresowej reorganizacji, a eksport danych do systemu nadrzędnego musi ruszyć o ustalonej godzinie niezależnie od tego, kto akurat pracuje na magazynie.

Za te operacje odpowiada SSJob - usługa systemu Windows działająca w tle, niezależnie od sesji użytkownika. Definicje zadań przechowywane są po stronie platformy, natomiast sama usługa odpowiada za ich uruchamianie zgodnie z harmonogramem. Z perspektywy administratora oznacza to jednorazową instalację na serwerze i późniejsze zarządzanie już wyłącznie z poziomu aplikacji.

Zanim przejdziesz do instalacji, warto upewnić się co do trzech rzeczy:

  • Uprawnienia administracyjne - rejestracja usługi w systemie wymaga konta administratora.
  • Obecność .NET Framework 4.0 - narzędzie instalacyjne pochodzi właśnie z tego środowiska.
  • Docelowa lokalizacja plików - katalog, którego użytkownik nie usunie przypadkowo.

Gdzie umieścić pliki

Pierwszym krokiem jest umieszczenie zawartości folderu SSJOB w takiej lokalizacji, aby uniemożliwić usunięcie folderu przez przypadkowego użytkownika. Zalecaną lokalizacją jest katalog systemowy C:\WINDOWS.

Wybór ten nie jest przypadkowy. Usługa zarejestrowana w systemie odwołuje się do konkretnej ścieżki pliku wykonywalnego. Przeniesienie lub skasowanie folderu po instalacji sprawia, że usługa pozostaje na liście, ale nie daje się uruchomić - a komunikat błędu, który przy tym powstaje, nie zawsze prowadzi wprost do przyczyny. Umieszczenie plików w katalogu chronionym prawami systemowymi znacząco ogranicza ryzyko takiej sytuacji.

Instalacja narzędziem InstallUtil

Do zainstalowania usługi w systemie MS Windows służy narzędzie InstallUtil, dostępne w ramach .NET Framework w wersji 4.0. Znajduje się ono w katalogu instalacyjnym frameworka, wewnątrz struktury Microsoft.NET w folderze systemu Windows.

Kluczowy warunek: okno wiersza poleceń musi być uruchomione z prawami administratora systemu MS Windows. Rejestracja usługi to operacja modyfikująca konfigurację systemu, więc uruchomienie polecenia na koncie bez podwyższonych uprawnień zakończy się odmową dostępu.

Sama składnia sprowadza się do wywołania narzędzia ze ścieżką do pliku wykonywalnego usługi:

InstallUtil.exe C:\WINDOWS\SSJOB\SSJob.exe

Po poprawnym wykonaniu narzędzie wypisuje na ekranie przebieg instalacji wraz z informacją o zatwierdzeniu zmian. Komunikat o niepowodzeniu na tym etapie wskazuje najczęściej na jedną z dwóch przyczyn: brak uprawnień administracyjnych albo nieprawidłową ścieżkę do pliku wykonywalnego.

Weryfikacja w aplecie Usługi

Aby sprawdzić, czy usługa poprawnie zainstalowała się w systemie, należy uruchomić aplet Usługi (Services). Zainstalowana usługa SSJOB powinna być widoczna na liście usług systemu Windows.

Sama obecność wpisu potwierdza jedynie poprawną rejestrację. Warto przy tej okazji zwrócić uwagę na dwa dodatkowe elementy widoczne w aplecie:

Co sprawdzićOczekiwany stanCo oznacza odstępstwo
Obecność usługi na liścieWpis SSJOB widocznyBrak wpisu - instalacja nie powiodła się
Stan usługiUruchomionaZatrzymana - usługa zarejestrowana, ale nie działa
Typ uruchomieniaAutomatycznyRęczny - usługa nie wstanie po restarcie serwera
Konto logowaniaKonto z dostępem do zasobówBrak praw do bazy lub katalogów sieciowych

Ostatni wiersz tabeli bywa źródłem najtrudniejszych do zdiagnozowania problemów. Usługa uruchomiona na koncie o zbyt wąskich uprawnieniach startuje bez błędu, ale poszczególne zadania kończą się niepowodzeniem - na przykład kopia bazy nie może zapisać pliku w docelowym katalogu sieciowym.

Deinstalacja

W celu usunięcia usługi SSJOB z systemu operacyjnego MS Windows używa się tego samego narzędzia InstallUtil, tym razem z dodatkowym parametrem -u. Okno wiersza poleceń również musi być uruchomione z prawami administratora:

InstallUtil.exe -u C:\WINDOWS\SSJOB\SSJob.exe

Kolejność ma tu znaczenie praktyczne. Deinstalację warto wykonać przed usunięciem lub przeniesieniem plików usługi - narzędzie odwołuje się bowiem do pliku wykonywalnego, aby poprawnie wyrejestrować wpis. Usunięcie folderu w pierwszej kolejności pozostawia w systemie osierocony wpis, którego pozbycie się wymaga już ingerencji w rejestr.

Dziennik zdarzeń i diagnostyka

Wszystkie komunikaty kreowane przez usługę SSJOB umieszczane są w Dzienniku zdarzeń systemu MS Windows, czyli w Event Viewerze. Korzystając z wbudowanych funkcji dziennika, można odfiltrować interesujące nas powiadomienia i ograniczyć widok wyłącznie do zdarzeń pochodzących z tej usługi.

To podstawowe narzędzie diagnostyczne przy pracy z zadaniami automatycznymi. Ponieważ usługa działa bez interfejsu użytkownika, dziennik jest jedynym miejscem, w którym widać, czy zadanie w ogóle się uruchomiło, ile trwało i czy zakończyło się powodzeniem.

Warto odróżnić ten rejestr od dzienników zdarzeń prowadzonych przez samą platformę, które rejestrują operacje wykonywane przez użytkowników aplikacji. Dziennik systemu Windows dotyczy działania usługi jako procesu, natomiast dziennik platformy - operacji na danych.

Przy diagnozowaniu zgłoszenia typu „zadanie się nie wykonało" pomocne jest ustalenie kolejności pytań. Sprawdzanie ich w tej kolejności pozwala zwykle zawęzić przyczynę w kilka minut:

  1. Czy usługa jest uruchomiona? Zatrzymana usługa nie wykona żadnego zadania, a w dzienniku nie pojawi się nawet informacja o próbie.
  2. Czy w dzienniku są wpisy z danego dnia? Ich brak wskazuje na problem z samą usługą, a nie z definicją zadania.
  3. Czy zadanie w ogóle się rozpoczęło? Wpis o starcie bez wpisu o zakończeniu oznacza przerwanie w trakcie wykonywania.
  4. Czy komunikat wskazuje na uprawnienia? Odmowa dostępu do pliku lub bazy prowadzi wprost do konta, na którym uruchomiona jest usługa.

Definiowanie zadań

Instalacja usługi to dopiero przygotowanie środowiska. Właściwa praca zaczyna się od zdefiniowania zadań, które SSJob ma wykonywać - a te konfiguruje się już z poziomu aplikacji, w module administratora, gdzie SSJob występuje jako osobna pozycja menu obok użytkowników, skorowidzy i parametrów.

StudioSystem

Instalacja na serwerze, konfiguracja w aplikacji

Podział jest wyraźny: usługę instaluje się raz w systemie Windows, natomiast harmonogram i zakres poszczególnych zadań zmienia się już wyłącznie z poziomu przeglądarki.

Szczegóły dotyczące parametrów zadania, zakładek danych podstawowych i dodatkowych oraz powiadomień e-mail opisuje osobny materiał o konfiguracji zadań ssJob.

Zakres zastosowań jest szeroki. W dokumentacji platformy opisano kolejne, ponumerowane przykłady zadań uruchamianych przez usługę:

Każde z tych zadań korzysta z tej samej usługi, różniąc się wyłącznie definicją zapisaną po stronie platformy. Dodanie kolejnego typu operacji nie wymaga więc ponownej instalacji ani restartu serwera.

Planując harmonogram, warto rozłożyć zadania w czasie zamiast ustawiać je wszystkie na tę samą godzinę. Kopia bazy danych i reorganizacja indeksów to operacje obciążające serwer, a ich równoczesne uruchomienie potrafi wydłużyć oba procesy oraz spowolnić pracę systemu dla użytkowników rozpoczynających zmianę. Typowe rozwiązanie polega na wykonaniu kopii bezpośrednio po zakończeniu pracy magazynu, a operacji utrzymaniowych na bazie w drugiej części nocy, gdy kopia jest już gotowa. Zadania integracyjne, takie jak eksport danych czy synchronizacja ze zgłoszeniami, można wtedy ustawić na wczesny ranek, tak aby ich wynik był dostępny na początku dnia roboczego.

Podsumowanie

Instalacja SSJob sprowadza się do czterech czynności: umieszczenia plików w chronionej lokalizacji, zarejestrowania usługi narzędziem InstallUtil z wiersza poleceń uruchomionego jako administrator, sprawdzenia wpisu w aplecie Usługi oraz kontroli komunikatów w Dzienniku zdarzeń systemu Windows. Deinstalacja przebiega tym samym narzędziem z parametrem -u.

Po stronie systemu operacyjnego jest to zadanie jednorazowe. Codzienna praca z zadaniami automatycznymi odbywa się już wyłącznie w aplikacji, gdzie definiuje się harmonogram i zakres poszczególnych operacji.

Słownik pojęć

Podstawowe pojęcia z instalacji usługi

Terminologia przydatna przy uruchamianiu zadań automatycznych na serwerze.

SSSJob
Usługa systemu Windows wykonująca zadania automatyczne platformy bez udziału użytkownika.
IInstallUtil
Narzędzie wiersza poleceń z .NET Framework, służące do instalowania i usuwania usług systemu Windows.
DDziennik zdarzeń
Systemowy rejestr Windows, do którego usługa zapisuje komunikaty o przebiegu zadań.
ZZadanie automatyczne
Operacja wykonywana cyklicznie, na przykład kopia bazy danych lub reorganizacja indeksów.
AAplet Usługi
Narzędzie Windows prezentujące listę zainstalowanych usług i pozwalające zarządzać ich stanem.
UParametr -u
Przełącznik narzędzia InstallUtil powodujący usunięcie wcześniej zainstalowanej usługi.
FAQ

Najczęściej zadawane pytania

01

Do czego służy usługa SSJob?

SSJob odpowiada za wykonywanie zadań automatycznych platformy StudioSystem bez udziału użytkownika. Realizuje operacje uruchamiane cyklicznie, takie jak kopie bazy danych, reorganizacja indeksów, eksport danych czy synchronizacja z systemem zgłoszeń.

02

Gdzie umieścić pliki usługi?

Zawartość folderu SSJOB należy umieścić w lokalizacji zabezpieczonej przed przypadkowym usunięciem przez użytkownika. Zalecaną lokalizacją jest katalog systemowy C:\WINDOWS, do którego zwykły użytkownik nie ma prawa zapisu.

03

Jak zainstalować usługę w systemie Windows?

Instalację wykonuje się narzędziem InstallUtil dostępnym w ramach .NET Framework w wersji 4.0. Wiersz poleceń musi być uruchomiony z prawami administratora systemu, w przeciwnym razie rejestracja usługi zakończy się błędem.

04

Jak usunąć usługę SSJob z systemu?

Deinstalację wykonuje się tym samym narzędziem InstallUtil, dodając parametr -u. Podobnie jak przy instalacji, okno wiersza poleceń musi być uruchomione z prawami administratora.

05

Jak sprawdzić, czy usługa działa poprawnie?

Należy uruchomić aplet Usługi, czyli Services, i sprawdzić, czy SSJOB znajduje się na liście usług systemu Windows. Obecność wpisu potwierdza poprawną rejestrację, a kolumna stanu informuje, czy usługa jest uruchomiona.

06

Gdzie szukać komunikatów o błędach?

Wszystkie komunikaty tworzone przez usługę SSJob trafiają do Dziennika zdarzeń systemu Windows. Korzystając z wbudowanych funkcji filtrowania dziennika, można ograniczyć widok do zdarzeń pochodzących wyłącznie z tej usługi.

Warto przeczytać

Powiązane materiały o zadaniach automatycznych

Kolejne kroki po zainstalowaniu usługi na serwerze.

Konfiguracja

Konfiguracja zadań ssJob

Definiowanie zadań po stronie aplikacji: parametry transakcji, dane podstawowe i dodatkowe oraz powiadomienia e-mail. Naturalny następny krok po instalacji usługi.

Czytaj dalej
Kopie

Kopia bazy MSSQL

Najczęściej wdrażane zadanie automatyczne. Opisuje cykliczne zabezpieczanie danych produkcyjnych realizowane przez usługę w godzinach nocnych.

Czytaj dalej
Wydajność

Reorganizacja indeksów

Zadanie utrzymaniowe, które przy rosnącej liczbie rekordów decyduje o szybkości działania zestawień. Warto zaplanować je od początku wdrożenia.

Czytaj dalej
Wymiana

Eksport danych do XML

Cykliczne przekazywanie danych do systemu zewnętrznego. Przykład zadania, w którym usługa zastępuje ręczne uruchamianie eksportu przez operatora.

Czytaj dalej
Audyt

Dzienniki zdarzeń platformy

Rejestr operacji wykonywanych przez użytkowników aplikacji. Uzupełnia obraz diagnostyki o warstwę danych, obok systemowego dziennika Windows.

Czytaj dalej
Konfiguracja

Moduł administratora

Miejsce, w którym definiuje się zadania oraz parametry połączeń wykorzystywane przez usługę. Punkt wyjścia dla całej konfiguracji instalacji.

Czytaj dalej

Potrzebujesz wsparcia przy wdrożeniu na serwerze?

Zapytaj o konfigurację zadań automatycznych albo uruchom demo modułów StudioSystem.