Le schedulazioni

<< Fare clic per visualizzazione il sommario >>

Percorso:  Gli oggetti del mondo Jamio >

Le schedulazioni

Una schedulazione è la pianificazione dell'esecuzione di un processo o il lancio di un evento al raggiungimento di una scadenza temporale.

Il servizio Jamio Schedule consente di definire job che vengono eseguiti al raggiungimento di una scadenza attraverso la definizione di una schedulazione. I job che si possono specificare in una schedulazione sono:

Lancio di un evento personalizzato.

Avvio di un processo.

La condizione temporale che determina il raggiungimento della scadenza può essere espressa in due modalità: Simple o Cron.

Una schedulazione Simple esprime la condizione temporale tramite la data di inizio (startTime), il numero di ripetizioni e l'intervallo di ripetizioni.

Una schedulazione Cron esprime la condizione temporale tramite la data di inizio (startTime), una data opzionale di fine (endTime) e un'espressione Cron (formalismo utilizzato nelle configurazioni software utile a specificare in un'unica espressione la pianificazione di un job da eseguire periodicamente ad orari, date o intervalli fissi).

Una schedulazione di tipo Simple è consigliata quando si vuole pianificare un'esecuzione singola di un job in un dato momento o quando si deve pianificare un lavoro che, rispetto ad una data di inizio deve essere ripetuto N volte, con un intervallo di tempo tra le esecuzioni.

Una schedulazione di tipo Cron è consigliata quando si desidera attivare un job con una pianificazione simile ad un calendario di lavori, da eseguire ad esempio "ogni lunedì alle 10:00" oppure "ogni 13° giorno del mese".

Una schedulazione Simple o Cron può prevedere, a partire dalla data di inizio, l'esecuzione di un solo job o di più job, secondo una scadenza definita nelle proprietà della schedulazione. Una schedulazione viene creata quando l'istanza di processo che invoca uno dei metodi di Jamio Schedule attiva il corrispettivo service task.

Quando la data di inizio specificata in una schedulazione è successiva alla data di creazione della stessa:

per le schedulazioni Simple, la prima istanza della schedulazione avviene alla data riportata nella data di inizio (startTime)

per le schedulazioni Cron, la prima istanza della schedulazione avviene alla prima data che rispetta la CronExpression successiva alla data di inizio (startTime).

Quando la data di inizio specificata in una schedulazione è precedente alla data di creazione della stessa:

per le schedulazioni Simple, la prima istanza della schedulazione avviene alla data di creazione della schedulazione (Created) e il numero di job che si verificheranno saranno quelli previsti dalla schedulazione (valore del parametro repeatCount)

per le schedulazioni Cron, la prima istanza della schedulazione avviene alla prima data che rispetta la CronExpression successiva alla data di creazione della schedulazione (Created).

Se alla creazione di una schedulazione Cron la combinazione tra la data di fine (endTime) e la cron expression non produce alcun job, il metodo invocato genererà errore.

Una schedulazione, una volta creata, può essere sospesa, ripresa o annullata.

Quando una schedulazione viene sospesa:

per le schedulazioni Simple, i job non vengono eseguiti e vengono ripresi quando viene eseguita l'azione Riprendi, raggiungendo il numero di ripetizioni indicato nel parametro repeatCount. Qualora il periodo di sospensione sia stato superiore all'intervallo temporale, il job verrà immediatamente lanciato con l'azione Riprendi.

per le schedulazioni Cron, i job che ricadono nell'intervallo della Cron expression vengono saltati e non sarà possibile rieseguirli. Inoltre, all'esecuzione dell'azione Riprendi, il primo job avviato sarà il primo dettato dalla Cron expression, successivo alla data di ripresa della schedulazione.

Una schedulazione si completa quando:

se di tipo Simple, sono stati eseguiti tutti i job previsti.

se di tipo Cron, sono stati eseguiti tutti i job previsti, oppure se i job previsti sono passati durante un intervallo di tempo in cui la schedulazione era in pausa, quindi alla ripresa (resume) la schedulazione passerà in stato Completata. Si noti che una Cron potrebbe avere job infiniti, in questo scenario non raggiungerà mai lo stato Completato.

Le schedulazioni completate sono eliminate dopo 30 giorni dalla data di completamento.

Se una schedulazione prevede l'avvio di un processo la cui l'esecuzione non è consentita (ad esempio poichè è stato superato il numero massimo di istanze di processo o per un errore applicativo), il processo viene accodato in attesa che la situazione che causa il blocco venga risolta, per poi essere successivamente eseguito. In questo scenario, i processi schedulati partiranno in tempi diversi da quelli pianificati.

In Jamio on stage il catalogo di amministrazione Schedulazioni, permette di consultare e gestire le schedulazioni attive nell'area Jamio openwork a cui si è connessi.