Node.js: Cron jobs
Automatisez efficacement les tâches dans Node.js avec des cron jobs
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose un environnement Node.js cloud prêt à l'emploi, conçu pour accélérer vos déploiements :
- Déployez en production en quelques secondes grâce à un simple
git push. Aucun outil supplémentaire ni configuration manuelle n'est nécessaire.- Utilisez votre propre nom de domaine et profitez de certificats HTTPS automatiques, pour sécuriser votre application sans configuration additionnelle.
- Sauvegardes automatiques, mises à jour en un clic et tarification prévisible vous permettent de vous concentrer sur le développement de vos fonctionnalités, pendant que Stackhero gère l'infrastructure.
- Basé sur une infrastructure privée et dédiée pour garantir des performances constantes et une sécurité renforcée.
Gagnez du temps et simplifiez la gestion opérationnelle : votre application peut être en ligne sur l'hébergement Node.js cloud de Stackhero en seulement quelques minutes.
Lors du développement d'applications Node.js, automatiser des tâches répétitives comme l'envoi d'e-mails planifiés, le nettoyage de données expirées ou la réalisation de maintenances régulières permet d'améliorer considérablement l'efficacité et la scalabilité. Le module cron, disponible sur npm (cron module on npm), offre une solution simple et efficace pour mettre en place ce type d'automatisation.
Note: Même si le module npm
node-cronest également disponible pour gérer des tâches cron, ce guide se concentre spécifiquement sur le modulecronet son utilisation.
Premiers pas
Pour commencer à utiliser le module cron dans votre projet, ajoutez-le comme dépendance en exécutant la commande suivante :
npm install cron
Une fois le module installé, vous pouvez planifier et gérer des cron jobs dans votre application. Voici un exemple concret :
const cron = require('cron');
const cronJobs = [];
// Gérez proprement l'arrêt de l'application en stoppant tous les cron jobs planifiés.
// Lors d'un déploiement ou de l'arrêt de l'application, un signal de terminaison (SIGTERM) est envoyé.
// Cela garantit que l'application arrête tous les cron jobs en cours avant de quitter.
process.on('SIGTERM', () => {
cronJobs.forEach(cronJob => cronJob.stop());
});
// Planifie un cron job qui s'exécute chaque seconde.
cronJobs.push(
new cron.CronJob(
'* * * * * *', // Planification : chaque seconde
() => {
console.log("Ce message s'affichera chaque seconde.");
},
null,
true
)
);
// Planifie un cron job qui s'exécute chaque minute.
cronJobs.push(
new cron.CronJob(
'0 */1 * * * *', // Planification : chaque minute
() => {
console.log("Ce message s'affichera chaque minute.");
},
null,
true
)
);
Comprendre la syntaxe cron
Le module cron utilise la syntaxe standard UNIX cron pour définir les planifications. Voici quelques exemples courants :
- Chaque seconde :
* * * * * * - Toutes les 30 secondes :
*/30 * * * * * - Toutes les 10 minutes :
0 */10 * * * * - Toutes les 2 heures :
0 0 */2 * * *
Ressources complémentaires
Vous êtes maintenant prêt à automatiser des tâches avec le module cron dans vos applications Node.js. Pour plus d'informations et d'exemples, consultez le dépôt officiel du module cron ainsi que le répertoire d'exemples.