schedule

Polecenie "schedule"

Jest to polecenie do zarządzania zadaniami z wewnętrznego harmonogramu. Pozwala wyświetlać, dodawać, usuwać czy wstrzymywać zadania. Obsługuje także szablony zadań, dzięki czemu nie trzeba za każdym razem pamiętać składni komend dla popularnych zadań, czy też ich zalecanego terminarza.

Składnia

sowizor schedule
sowizor schedule add [<szablon>]
sowizor schedule edit|remove|disable|enable

Wyświetalnie terminarza

Polecenie wywołane bez parametrów wyświetla wszystkie skonfigurowane zadania w kolejności ich najbliższego terminu uruchomienia. Zadania będące czasowo wstrzymane są wyświetlane na końcu listy, z opisem (disabled).

    run at       every  next                command
===================================================
[1] at  14:21:00 minute 2014-05-28 09:39:00 /usr/local/bin/test.sh
[2] now          minute 2014-05-28 09:39:21 $(which smailer) --daemon -V debug send @
[3] at  15:07:00 hour   2014-05-28 10:07:00 /usr/local/bin/dluga.sh
[4] at  11:08:00 day    2014-05-28 11:08:00 $(which ssaker) -V debug --daemon --respawn --pkg-size=350 process 1000 update
[5] now          minute (disabled)          $(respawn)

Poszczególne kolumny definiują parametry poszczególnych zadań.

 

KolumnaOpisWartości
runSposób uruchomienia zadaniaat - cyklicznie, począwszy od wskazanego czasu
now - natychmiast po dodaniu do terminarza lub uruchomieniu usługi
once - uruchomienie jednorazowe o podanym czasie i usunięcie zadania
respawn - (obecnie nie obsługiwane)
atCzas uruchomienia zadaniaFormat HH:MM:SS - nie podaje się czasu dla zadań uruchamianych now.
everyCzęstotliwość uruchamiania zadania

second - co sekundę
minute - co pełną minutę od czasu podanego w at
hour - co pełną godzinę od czasu podanego w at
day - codziennie o czasie podanym w at
week - co niedzielę o czasie podanym w at
month - 1go dnia każdego miesiąca o czasie podanym w at

event - zadanie uruchamiane w momencie pojawienia się określonego zdarzenia

nextData i czas planowego uruchomienia zadaniaDla zadań czasowo wyłączonych będzie tam wartość (disabled), zaś dla zadań uruchamianych zdarzeniami wartość będzie pusta.
commandKomenda wykonująca zadanie

Jest to albo pełna ścieżka do programu lub skryptu, który ma zostać uruchomiony albo makro - wraz z parametrami.

$(which <nazwa>) - jest zastępowane pełną ścieżką do programu <nazwa> - o ile znajduje się on na ścieżce systemowej.

$(respawn) - wykonuje bez uruchamiania nowego procesu polecenie "sowizor start respawn"

Dodawanie zadań

Polecenie z parametrem add (i opcjonalnym parametrem z nazwą szablonu) pozwala na utworzenie nowego zadania i określenie harmonogramu jego wykonywania.

Program po kolei odpyta o nowe wartości dla opisanych wyżej: RUN, AT, EVERY i COMMAND. W przypadku podania nazwy szablonu - sugerowane wartości dla poszczególnych opcji zostaną wyświetlone i będzie można je zmodyfikować.

SzablonOpisrunatevery
smailerMonitoring katalogu kolejki maili - wysyłka maili zaraz po pojawieniu się nowego pliku.now event
Wysyłka zaległej lub odroczonej poczty elektronicznej oraz wiadomości SMSnow hour
ssakerPrzekazywanie zmian w opisach bibliograficznych do portalu w.bibliotece.platwylosowany czas z zakresu 22:00:00 - 04:00:00day
respawn$(respawn)now minute
notify <index_name>Nasłuch na zdarzenia NOTIFY z serwera PostgreSQL - indeksacja nowych i zmienionych dokumentów books.now event
Pełna reindeksacja dokumentów z grupy traffic.atwylosowany czas z zakresu 22:00:00 - 04:00:00day

 

Edycja, usuwanie, wyłączanie i włączanie zadań

Polecenie z parametrami edit, remove, disable i enable odpowiadają odpowiednim operacjom na liście zdefiniowanych zadań. W pierwszym kroku program wyświetli listę zadań, które są dostępne dla tych operacji i poprosi o podanie numeru zadania.

W przypadku operacji edycji zadania (edit), program po kolei odpyta o nowe wartości dla opcji RUN, AT, EVERY i COMMAND. Wartością domyślną będą aktualne wartości opcji.

Pozostałe operacje służą odpowiednio do usunięcia zadania (remove), czasowego wyłączenia zadania bez jego usuwania (disable) oraz ponownego włączenia wcześniej wyłączonego zadania (enable).