Node.js : comment exécuter une tâche planifiée (cron) chaque nuit ?

poze 2 months ago238 gadefr

5

Je dois envoyer un récapitulatif par e-mail chaque nuit à 2h. J'ai vu node-cron, mais j'ai plusieurs instances de mon serveur. Risque de doublons ?

Dyagnostik IA

Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.

poze 2 months ago

1 Repons

9
✓
✓ Repons yo aksepte

Oui : avec node-cron dans ton serveur web, chaque instance exécutera la tâche, donc doublons garantis.

Options :

1. Cron externe (recommandé) : un planificateur appelle un endpoint protégé ou lance un script une seule fois. Ça peut être le cron Linux, un cron de Kubernetes (CronJob), GitHub Actions schedule, ou le cron de ton hébergeur (Vercel Cron, Render…).

0 2 * * * curl -fsS -H "Authorization: Bearer $CRON_SECRET" https://api.example.com/cron/digest

2. File de jobs avec planification (BullMQ *repeatable jobs*) : Redis garantit qu'un seul worker prend le job.

3. Verrou en base : pg_try_advisory_lock dans PostgreSQL. L'instance qui obtient le verrou exécute, les autres sortent.

Dans tous les cas, rends la tâche idempotente, en enregistrant par exemple « digest envoyé pour le 2026-09-26 », pour qu'un double déclenchement soit sans effet.

Konekte pou di lòt moun si li te mache.

answered 2 months ago

Sign in and verify your email to post an answer.