Azure Function TimerTrigger - CRON

Azure Function TimerTrigger - CRON
Utilizzare le Azure Function TimerTrigger ha indubbiamente dei vantaggi, ma bisogna prestare attenzione a come le si configura. Vi state chiedendo in che senso? La Azure Function per scattare ha bisogno di un orario di attivazione oppure di un timer. Nel momento in cui si verifica lo scoccare dell’orario, vi sarà l’esecuzione del nostro codice sorgente.
Azure Function - Template
Nel momento in cui si crea una Azure Function TimerTrigger dobbiamo dichiarare subito il timining di esecuzione. Vi riporto il template d’esempio nel momento in cui si genera una nuova function di questa tipologia.
|
|
Una volta definito il template d’esempio entramo nel vivo dell’articolo.
TimerTrigger - CRON
Il primo parametro del metodo Run è la chiave della nostra esecuzione e relative schedulazioni
|
|
Se state pensando “Hey, io quel formato lo conosco ed è CRON!” avete indovinato. Se -invece- non vi dice nulla vi consiglio di leggere sino in fondo. Prima di spiegarvi il significato dei numeri e del carattere asterisco, vi ricordo che il timing bisogna definirlo in formato UTC e non nell’orario locale.
Ora diamo un peso/ordine ai valori presenti in TimerTrigger
|
|
Come vedete -sulla carta- è tutto semplice, ma se vi state chiedendo come mai vi è un / nella definizione dei minuti vi consiglio il prossimo paragrafo.
NCRONTAB expressions
Come avrete intuito esistono dei caratteri jolly da usare nella definizione del TimerTrigger e li illustro di seguito.
Type | Example | When triggered |
---|---|---|
A specific value | “0 5 * * * *” | at hh:05:00 where hh is every hour (once an hour) |
All values (*) | “0 * 5 * * *” | at 5:mm:00 every day, where mm is every minute of the hour (60 times a day) |
A range (- operator) | “5-7 * * * * *” | at hh:mm:05,hh:mm:06, and hh:mm:07 where hh:mm is every minute of every hour (3 times a minute) |
A set of values (, operator) | “5,8,10 * * * * *” | at hh:mm:05,hh:mm:08, and hh:mm:10 where hh:mm is every minute of every hour (3 times a minute) |
An interval value (/ operator) | “0 */5 * * * *” | at hh:00:00, hh:05:00, hh:10:00, and so on through hh:55:00 where hh is every hour (12 times an hour) |
La tabella non è farina del mio sacco lo ammetto. Ho fatto il copia ed incolla dalla documentazione ufficiale Microsoft visto che non è molto da inventare cambiandola.
Come avrete sicuramente visto la definizione è abbastanza flessibile e vi consente di gestire al meglio l’esecuzione del vostro codice. Molto probabilmente sbaglierete le prime definizioni. Non preoccupatevi, la mia prima definizione è finita male con un bombardamento mail ogni secondo.