Preferências de cookies
Usamos cookies para análises. Política de Privacidade Você pode aceitar ou recusar rastreamento não essencial.
Guia prático sobre "Agendamento Cron seguro para fuso horário sem tarefas perdidas": etapas principais, erros comuns e implementação com Validador Cron.
Vá para a ferramenta
Valide expressões cron, veja os próximos tempos de execução e detalhamento de campos.
Expressões Cron não possuem um campo de timezone. Elas são executadas no timezone configurado no servidor (ou agendador) -- geralmente UTC. Isso causa incidentes reais em produção quando os desenvolvedores assumem o horário local.
Você quer um relatório diário às 9:00 AM no horário de Nova York. Você escreve:
0 9 * * *Mas o servidor executa em UTC. Isso dispara às 9:00 AM UTC = 4:00 AM EST (inverno) ou 5:00 AM EDT (verão). Seu relatório chega antes de alguém estar acordado, e o horário muda com o horário de verão.
O Horário de Verão cria dois modos de falha específicos:
Avanço da primavera (2:00 AM → 3:00 AM): Um job agendado para 0 2 * * * nunca executa naquela noite. A hora 2:00 AM não existe.
Regresso do outono (2:00 AM → 1:00 AM): Um job agendado para 0 1 * * * executa duas vezes. A hora 1:00 AM acontece duas vezes.
Isso afeta os EUA, a UE e cerca de 70 outros países. Se seu job de cron for idempotente, execuções duplas são inofensivas. Se ele enviar emails ou cobrar cartões de crédito -- você tem um problema.
A solução mais simples: defina todas as expressões cron em UTC e converta para exibição.
# 9:00 AM ET = 14:00 UTC (durante EST) ou 13:00 UTC (durante EDT)
# Escolha uma e aceite uma variação de 1 hora, ou mantenha duas expressões
0 14 * * *# Timer systemd
CRON_TZ=America/New_York
0 9 * * *# CronJob do Kubernetes
apiVersion: batch/v1
kind: CronJob
metadata:
name: daily-report
spec:
schedule: "CRON_TZ=America/New_York 0 9 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: report
image: report-runner:latest# BOM
CRON_TZ=America/New_York
CRON_TZ=Europe/Berlin
# RUIM -- não lida com horário de verão
CRON_TZ=EST # sempre -5, ignora EDT
CRON_TZ=UTC-5 # mesmo problemaSe você não puder usar CRON_TZ, agende os jobs fora da janela de transição do horário de verão (1:00-3:00 AM local). Jobs às 4:00 AM local ou mais tarde são seguros.
Cole sua expressão cron no Validador de Cron para ver os próximos 5-10 horários de execução e confirmar que eles estão alinhados com suas expectativas. Verifique datas tanto de janeiro (horário padrão) quanto de julho (horário de verão).
Este artigo é revisado pela equipe editorial da Tools Hub para garantir precisão, utilidade prática e consistência com os fluxos atuais do produto.
Última revisão:
Construtor Cron AI converte descrições de horários em expressões cron corretas com explicação legível.
Guia prático sobre "Assistente Regex AI para fluxos de trabalho de limpeza de dados de CRM": etapas principais, erros comuns e implementação com Testador Regex.
Guia prático sobre "ARRAYFORMULA do Planilhas Google para colunas automatizadas": etapas principais, erros comuns e implementação com AI de Formulas Excel.
Guia prático sobre "Manual de limpeza de dados Regex para importações de CRM e CSV": etapas principais, erros comuns e implementação com AI para Construir Regex.