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 stan | Co oznacza odstępstwo |
|---|---|---|
| Obecność usługi na liście | Wpis SSJOB widoczny | Brak wpisu - instalacja nie powiodła się |
| Stan usługi | Uruchomiona | Zatrzymana - usługa zarejestrowana, ale nie działa |
| Typ uruchomienia | Automatyczny | Ręczny - usługa nie wstanie po restarcie serwera |
| Konto logowania | Konto z dostępem do zasobów | Brak 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:
- Czy usługa jest uruchomiona? Zatrzymana usługa nie wykona żadnego zadania, a w dzienniku nie pojawi się nawet informacja o próbie.
- Czy w dzienniku są wpisy z danego dnia? Ich brak wskazuje na problem z samą usługą, a nie z definicją zadania.
- Czy zadanie w ogóle się rozpoczęło? Wpis o starcie bez wpisu o zakończeniu oznacza przerwanie w trakcie wykonywania.
- 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.

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ę:
- Kopia bazy MSSQL - cykliczne zabezpieczenie danych produkcyjnych.
- Reorganizacja indeksów - utrzymanie wydajności bazy danych przy rosnącej liczbie rekordów.
- Generowanie raportu - przygotowanie zestawienia o ustalonej porze.
- Eksport XML - przekazanie danych do systemu zewnętrznego.
- HelpDesk Synchro - synchronizacja z systemem zgłoszeń serwisowych.
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.