Vai al contenuto
GiovanniLiguori
Bergamo · ItaliaPrenota una call
§ 00 / GIOVANNI
Sistemi agentici per processi documentali: fonti, confini, astensione e traccia.
SCOPING APERTO
Risorse / DM / CRON29 agosto 2026

Checklist UTC per cron su 5 piattaforme

Come verificare che un job schedulato sia davvero morto e non solo in UTC, su launchd, Cloud Scheduler, Cloud Run, Vercel e Nightbox.

Commenta CRON sotto il reel29 agosto 2026Giovanni Liguori
Contenuto assistito da AI

Il cron sembrava morto. Era solo l'ora.

Ho 69 job schedulati su 5 piattaforme. Il 12 giugno 2026 uno di questi, il reel-content-brain, non girava quando me lo aspettavo. Nessun commit, nessun file in coda.

Ho aperto Cloud Scheduler. Il job era presente, attivo, senza errori. Poi ho fatto date -u.

La risposta: 12:00:07 UTC. La macchina mostrava 14:00 CEST. Il cron era in UTC. Il job era girato esattamente quando doveva.

Il check in 3 passaggi

  1. date -u sulla macchina di sviluppo.
  2. Confronta con il timestamp dell'ultimo run nella piattaforma di destinazione.
  3. Se combaciano ma il job non ha girato: problema reale. Se non combaciano: è solo l'ora.

Come si vede il fuso su ogni piattaforma

launchd (macOS): StartCalendarInterval usa l'ora locale della macchina. In estate (CEST) = UTC+2. Un job alle 06:00 launchd gira alle 04:00 UTC.

Cloud Scheduler (Google Cloud): espressioni cron nel timezone configurato alla creazione. Default: UTC. Verifica sempre con date -u.

Cloud Run Jobs: il trigger viene da Cloud Scheduler. I log usano UTC.

Vercel Cron: UTC sempre. Non configurabile.

Nightbox (host GPU): dipende dalla configurazione del sistema. Controlla con timedatectl.

L'errore che si fa più spesso

Dichiarare morto un cron alle 14:00 locali quando è schedulato alle 12:00 UTC. Il job non è ancora partito.

Ho 69 job schedulati. Da quel giugno 2026: zero false morti per fuso orario.