Scheduler


Opis

Moduł Scheduler jest modułem typu EXTERNAL, co oznacza, że aby był uruchomiony podczas pracy instancji należy dodać wpis modułu w konfiguracji instancji.

Moduł umożliwia planowanie zadań wykonywanych przez jPalio. Zadania definiuje się w obiektach, mogą to być dowolne objekty języka jPalio (np.: jPalio, Groovy, Java).

Zadania posiadają datę uruchomienia, określającą kiedy zaczą być wykonywane, oraz okres co jaki będą wykonywane. Okres definiuje co ile jest uruchamiane zadanie, zatem określa czas pomiędzy ostatnim uruchomieniem, a następnym, czas trwania zadania nie jest doliczany. Jeśli nadszedł czas aby uruchomić zadanie, ale poprzednie jeszcze się nie zakończyło, zadanie nie zostanie uruchomi

Zobacz także:


[Moduł Zadania] Opis
 

Dobre praktyki

Korzystanie z funkcji modułu powino być oraniczone do minimum (np.: formularz włączania/wyłączania zadania), wszelkie potrzebne operacje mogą być i powinny być dokonywane w jDesignerze.

Zadania powinny być przypisywane do grup, a grupy powinny określać poszczególne funkcje systemu. Możliwe jest tworzenie grup zadań, a każda grupa zadań jest obsługiwana przez odzielny wątek.

W celu przejrzystości systemu zadania powinny nazywać się identycznie jak obiekt, który jest przez nie wykonywany.

Zobacz także:


[Nazewnictwo] Katalogi
 

Przykłady

Aby wylączyć zadanie oraz powiadomić czy było aktywne:

$=(@jobId, 123)
$if((Boolean)$scheduler.isTaskActive($@jobId), {
    Task $@jobId was active.
}, {
    Task $@jobId was not active.
})

Aby włączyć je ponownie i ustawić aby wykonywało się co 1 dzien, 3 godziny i 13 minut:

$scheduler.setTaskStartDate($@jobId, $@now)
$scheduler.setTaskPeriod($@jobId, 90780000)
$scheduler.setTaskActive($@jobId, true)

Typowymi zastosowaniami modułu  scheduler będą:

API

http://jpalio.torn.com.pl/modules/palio/modules/Scheduler.html