Existe-t-il une bibliothèque comme une bibliothèque qui me permettrait de programmer l'exécution d'une fonction à une heure donnée (15h30 par exemple, pas dans x heures à partir de maintenant, etc.)? S'il n'y a pas ce genre de bibliothèque, comment cela devrait-il être implémenté? Dois-je simplement définir le rappel pour qu'il soit appelé toutes les secondes et vérifier l'heure et démarrer les tâches planifiées pour l'heure ou quoi?
node-cron fait exactement ce que j'ai décrit
node-schedule Un planificateur de tâches similaire à Cron et non similaire à Cron pour Node.
agenda est une planification de travail Lightweight pour le noeud. Cela vous aidera.
later.js est une assez bonne bibliothèque "planificateur" en JavaScript. Peut fonctionner sur Node.js ou dans un navigateur Web.
J'utilise kue: https://github.com/learnboost/kue . C'est joli Nice.
Les caractéristiques officielles et mes commentaires:
Modifier:
node-crontab vous permet d'éditer des tâches cron système à partir de node.js. L'utilisation de cette bibliothèque vous permettra d'exécuter des programmes même après la fin de votre processus principal. Avertissement: je suis le développeur.
Vous pouvez utiliser timexe
Il est simple à utiliser, léger, sans dépendance, a une syntaxe améliorée sur cron, une résolution en millisecondes et fonctionne dans le navigateur.
Installer:
npm install timexe
Utilisation:
var timexe = require('timexe');
var res = timexe("* * * 15 30", function(){ console.log("It's now 3:30 pm"); });
(Je suis l'auteur)
Je suis l'auteur de node-runnr . Son approche est très simple pour créer des emplois. Aussi, il est très facile et clair de déclarer le temps et l’intervalle. Par exemple, pour exécuter un travail toutes les 10min 20s,
Runnr.addIntervalJob('10:20', function(){...}, 'myjob')
Faire un travail à 10h et 15h tous les jours,
Runnr.addDailyJob(['10:0:0', '15:0:0'], function(){...}, 'myjob')
C'est si simple. Pour plus de détails: https://github.com/Saquib764/node-runnr
Toutes ces réponses et personne n’a fait référence au package NPM le plus populaire. Cron
Nous pouvons utiliser à la fois node-schedule et node-cron pour implémenter des ordonnanceurs basés sur cron.
[~ # ~] note [~ # ~] : pour générer des expressions cron, vous pouvez utiliser ceci cron_maker
Cela ne conviendra pas à tout le monde, mais si votre application est déjà configurée pour prendre des commandes via un socket, vous pouvez utiliser netcat pour émettre des commandes via cron proprement dit.
echo 'mycommand' | nc -U /tmp/myapp.sock