A expressão cron */5 * * * * executa um trabalho a cada 5 minutos, 12 vezes por hora. Operador de passo, variantes de horário comercial e timer systemd.
⏰Every 5 minutes
*Qualquer valor,Separador de lista-Intervalo/Passo1-5Intervalo de 1 a 5*/15A cada 15 unidadesA expressão cron */5 * * * * agenda um trabalho para executar a cada 5 minutos, toda hora, todos os dias. Os cinco campos mapeiam para: minuto, hora, dia do mês, mês, dia da semana. Um * em um campo significa “cada valor válido.” O */5 no campo de minuto usa o operador de passó para selecionar cada 5º valor.
O caractere / no cron é chamado de operador de passo. A sintaxe */N significa “a cada N unidades através do intervalo completo.” Para o campo de minuto:
Você também pode usar um passó em um intervalo restrito. 10-30/5 expande para 10,15,20,25,30, disparando a cada 5 minutos, mas apenas dentro da janela de 10 a 30. Isso é menos comumente necessário mas válido em todas as principais implementações cron.
*/5 * * * *
É exatamente equivalente a:
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
Ambas as formas disparam 12 vezes por hora, 288 vezes por dia. Se você colocar qualquer uma em crontab -e em um sistema Linux, obtém o mesmo comportamento. A forma de passó é preferida na prática porque é mais legível e menos propensa a erros de digitação.
Pingar um endpoint a cada 5 minutos detecta falhas dentro de uma janela de 5 minutos. Intervalos mais curtos (1 a 2 minutos) são melhores para serviços críticos, mas 5 minutos é um padrão razoável para ferramentas internas não críticas.
Se sua aplicação armazena dados em cache que expiram após 10 a 30 minutos, um cron de 5 minutos que pré-carrega e popula o cache evita que falhas de cache atinjam serviços downstream.
Quando um webhook não está disponível e você precisa puxar dados de uma fonte externa, 5 minutos é frequentemente o intervalo mais curto que permanece dentro dos limites de taxa. Sempre verifique a documentação de limite de taxa da API antes de definir o intervalo.
Algumas tarefas leves de agregação (acumular contadores, liberar dados em buffer) executam em intervalos curtos onde uma janela de 5 minutos é um tamanho de bucket natural.
Não é adequado para: qualquer coisa que precise de precisão abaixo de 1 minuto. A resolução do cron é de 1 minuto. Para trabalhos abaixo de 1 minuto, use um processador de longa duração com um loop de sleep interno, um timer systemd com OnCalendar=*:0/1, ou um agendador de trabalhos como Celery Beat.
| Expressão | Disparos por hora | Uso típico |
|---|---|---|
*/1 * * * * |
60 | Polling quase em tempo real |
*/5 * * * * |
12 | Health checks, refresh de cache |
*/10 * * * * |
6 | Polling moderado |
*/15 * * * * |
4 | Relatórios de quarto de hora |
*/30 * * * * |
2 | Resumos de meia hora |
0 * * * * |
1 | Trabalhos horários |
Em sistemas Linux modernos com systemd, você pode usar OnCalendar em uma unidade .timer em vez de cron:
[Timer]
OnCalendar=*:0/5
Persistent=true
from croniter import croniter
from datetime import datetime
cron = croniter("*/5 * * * *", datetime.now())
for _ in range(5):
print(cron.get_next(datetime))
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.