Hoy quiero compartir el concepto CRON, extraído de la guía de Microsoft para entender que son las expresiones CRON y como se utilizan en los triggers de las functions cuando diseñamos nuestras arquitecturas serverless en cloud.
El concepto CRON, existe desde hace años en los sistemas Linux que podéis consultar en la Wikipedia: https://es.wikipedia.org/wiki/Cron_(Unix) y se utiliza para ejecutar procesos en segundo plano en periodos de tiempos regulares.
Formato expresiones CRON en Azure
Una expresión CRON es una cadena que consta de seis campos que representan un conjunto de horas y en Azure tiene esta forma:
{second} {minute} {hour} {day} {month} {day of the week}
Por ejemplo, una expresión CRON para crear un trigger que se ejecuta cada cinco minutos sería: 0 */5 * * * *
A primera vista, esta cadena puede parecer confusa. Para comprender una expresión CRON, debe tener conocimientos básicos de algunos de los caracteres especiales.
Carácter especial | Significado | Ejemplo |
---|---|---|
* | Selecciona todos los valores de un campo | Un asterisco «*» en el campo de día de la semana significa cada día. |
, | Separa los elementos de una lista. | Una coma «1,3» en el capo de día de la semana significa solo los lunes (día 1) y los miércoles (día 3). |
– | Especifica un intervalo. | Un guion «10-12» en el campo de hora significa un intervalo que incluya las horas, 10, 11 y 12. |
/ | Especifica un incremento. | Una barra diagonal «*/10» en el campo de minutos significa un incremento de cada 10 minutos. |
Ejemplos de expresiones CRON
Expresión CRON | Descripción |
---|---|
0 0 12 * * ? | Ejecutar a las 12:00 cada día |
0 15 10 * * ? | Ejecutar a las 10:15 todos los días |
0 15 10 ? * LU-VI | Ejecutar a las 10:15 cada día laborable |
0 15 10 ? * 6L | Ejecutar a las 10:15 el último viernes de cada mes |
Si queréis saber más: https://azure.microsoft.com/es-es/services/functions