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
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.
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ą: