Expresiones CRON

Haciendo uso de las Azure functions como soporte para mis funciones batch, he comenzado a utilizar expresiones CRON, son cadenas de texto que representan un instante temporal o un periodo a través de los distintos valores introducidos en cada uno de sus 6-7 valores.

En esta entrada voy a dar algunos ejemplos de cómo usar las funciones CRON. 

Formato CRON

Su formato es el que se representa a continuación, como una cadena con 6 valores (7 si especificamos el año, no demasiado común).

{second} {minute} {hour} {day} {month} {day of the week} {year}

Todos los campos excepto el de año son obligatorios, pueden contener un valor numérico o de texto según le corresponda, y también ciertos caracteres especiales.

Valores

  • Segundos -> 0-59
  • Minutos -> 0-59
  • Horas -> 0-23
  • dia -> 1-31
  • mes -> 1-12 o JAN-DEC
  • dia de la semana -> 1-7 o SUN-MON (1 se corresponde con domingo)

Caracteres especiales

  • * -> simboliza todos los posibles valores, por ejemplo usado para días simbolizaría cada día del mes.
  • ? -> muy similar al anterior, representa “cualquiera”, solo es válido en día o día de la semana.
  • – -> un rango de valores, por ejemplo del 1 al 15 del mes se representaría en el campo días como 1-15
  • , -> selecciona valores específicos, por ejemplo 1,15 en días representaría los días 1 y 15.
  • / -> selecciona incrementos, por ejemplo */15 usado en días representaría cada 15 días.
  • L -> representa “Last”, solo es válido en día del mes o día de la semana, y representaría el último día de la semana o el último día del mes.
  • XL -> representa el último día del mes del tipo “día de la semana” especificado en X. Por ejemplo 6L sería el último viernes del mes.
  • # -> representa la posición de un dia de la semana dentro del mes. Por ejemplo 6×1 sería el primer viernes del mes.

Ejemplos

0 */5 * * * * -> Cada 5 minutos

0 0 * * * * -> Al comienzo de cada hora

0 0 */2 * * * -> Cada 2 horas

0 0 9-17 * * * -> cada hora entre las 9AM y las 5PM

0 30 9 * * * -> cada día a las 9:30AM

0 30 9 * * 1-5 -> cada día de lunes a viernes a las 9:30AM

Pues nada, hasta aquí con expresions CRON, no es mucho mas complejo, y dado que en azure functions para procesos batch programados con trigger temporal, existe un campo específico para meter este tipo de expresión, no creo que sea necesario profundizar mucho mas en el funcionamiento de estas expresiones.

Un saludo.

Deja un comentario