Node.js: Cron jobs
Automatisez efficacement les tâches dans Node.js avec des cron jobs
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Node.js cloud prête à l'emploi qui offre de nombreux avantages, notamment :
- Déployez votre application en quelques secondes avec un simple
git push.- Utilisez votre propre nom de domaine et profitez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
- Bénéficiez de la sauvegarde automatique, des mises à jour en un clic, ainsi que d'une tarification simple, transparente et prévisible.
- Profitez d'une performance optimale et d'une sécurité renforcée grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Node.js cloud hosting de Stackhero !
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.