Cronjobs in node.js
Gibt es eine Möglichkeit, um in regelmäßigen Abständen aufrufen von Funktionen, die zu einer bestimmten Zeit des Tages in node.js? Meine erste Umsetzung war
setInterval(functionName(),(24*60*60*1000));
Dies ist suboptimal, weil es neu starten, jedes mal, wenn ich neu Knoten. Gibt es bessere Möglichkeiten, dies umzusetzen?
InformationsquelleAutor der Frage Thomas | 2011-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zum Schutz gegen Neustart benötigen Sie zum erstellen eines persistent gespeicherten Daten job.
Etwas wie :
Dann haben einige code wie folgt:
Auf start-up, Sie müssen nur etwas tun :
Ersetzen Sie die generischen
db
mit MongoDB, CouchDB, Redis, etc.InformationsquelleAutor der Antwort Raynos
Es ist eine alte Frage, aber zusätzlich zu den akzeptierten Antworten eine Bibliothek mit Beispielen zu erwähnen.
cron ist ein leichtes Paket, das führt die angegebene Funktion im gegebenen Intervall, nur mit system Zeit und keine db-Persistenz.
Oben, benötigen wir zwei Dateien, und rufen Sie innerhalb von zwei cronjobs, die in verschiedenen Abständen. Die Dateien einfach exportieren Sie die Funktionen:
Davon, ob Sie lokal oder auf remote-server in jeder region, es wird gemäß der übergebenen Zeitzone (die ist optional, und nicht egal, in Fall Minuten).
Auch ein Neustart der server/script keine Auswirkung auf seine Arbeit, wie es synchronisiert mit der system-Zeit. Ein
"00 */5 * * * *"
job läuft auf jedem vielfachen von 5, d.h. 5, 10, 15, 20 und so weiter. Also, auch wenn Sie das Skript neu starten bei 24, mit 25 und nicht 29.Schließlich, das Paket erweitert die cron-syntax einschließen Sekunden auf der linken Seite die meisten. Daher, man kann sogar sagen, zu welchem genauen Sekunde der minute, die Sie der Auftrag ausgeführt werden soll.
InformationsquelleAutor der Antwort Talha Awan