O básico sobre Cron Expression
Este post vai permitir entender o que é Cron Expression, para que é utilizada, como montar um e alguns exemplos de uso
Última atualização em: | 33259 Visualizações
Segundo a wikipedia, cron do utilitário de software é um agendador de tarefas baseado em tempo em sistemas operacionais de computadores do tipo Unix. [...] usam o cron para agendar tarefas para serem executadas periodicamente em horários, datas ou intervalos fixos. Wikipedia Cron.
Considerando o conceito abordado pela wikipedia, Cron Expression é uma expressão que determina um agendamento de forma que possa ser usado por sistemas de computador. Pode ser definido um intervalo com repetições periódicas, ou apenas um agendamento para uma determinada data.
Cron Expression formato
O formato do Cron Expression se resume em: <segundo> <minuto> <hora> <dia-do-mes> <mes> <ano>
.
Esta é a sequência padrão para cada cron, veja o exemplo que repete uma vez por dia:
0 0 0/1 * * *
Note que este é o padrão usado pelo Quartz Job Scheduling Library.
Veja os exemplos aqui.
Se utilizar no linux terá o seguinte formato: <segundo> <minuto> <hora> <dia-do-mes> <mes> <dia-da-semana> <ano>
.
Caracteres especiais da expressão
Veja abaixo a tabela com todos os caracteres possíveis de serem usados na expressão:
Caracter | Representa | Descrição |
---|---|---|
* | Todos | para especificar que o evento deve acontecer para cada unidade de tempo |
? | Qualquer | utilizado nos campos |
- | Intervalo | para determinar o intervalo de valores |
, | Valores | para especificar vários valores |
/ | Incrementos | para especificar os valores incrementais |
L | Último | tem significados diferentes quando usado em vários campos. Por exemplo, se for aplicado no campo <dia-do-mês>, significa o último dia do mês |
W | Dia da semana | para especificar o dia da semana (de segunda a sexta) mais próximo de um determinado dia do mês |
Exemplos de Cron Expression:
Veja alguns exemplos de Cron Expression que pode ser utilizado.
Cron Expression a cada 30 segundos
Para repetir um intervalo de tempo de 30 em 30 segundos:
0/30 * * * * *
Note que o zero no início (
0/30
), serve para indicar que deve iniciar em0
segundos. Você pode deixar * para iniciar a partir de qualquer segundo.
Cron Expression todo minuto
Deve repetir no segundo 0
, a cada minuto começando no minuto 0
, de cada hora.
0 0/1 * * * *
Cron Expression a cada 5 minutos
Deve repetir no segundo 0
, a cada 5 minutos começando no minuto 0
, de cada hora.
0 0/5 * * * *
Cron Expression a cada 10 minutes
Deve repetir no segundo 0
, a cada 10 minutos começando no minuto 0
, de cada hora.
0 0/10 * * * *
Cron Expression a cada 15 minutos
Deve repetir no segundo 0
, a cada 15 minutos começando no minuto 0
, de cada hora.
0 0/15 * * * *
Cron Expression a cada 1 hora
Deve repetir no segundo 0
e no mínuto 0
, a cada 1 hora começando na hora 0
todos os dias.
0 0 0/1 * * *
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.