Was ist node-cron?
node-cron ist eine leichtgewichtige Bibliothek für Node.js, die es ermöglicht, JavaScript-Funktionen nach einem Zeitplan auszuführen, indem die Syntax von cron-Ausdrücken aus UNIX-Systemen verwendet wird. Sie ist ideal für die Automatisierung von Routineaufgaben: Cache-Bereinigung, Versand von E-Mail-Newslettern, Datenbank-Backups oder Server-Überwachung.
Wozu braucht man einen Aufgabenplaner?
In Webanwendungen muss Code oft zu bestimmten Zeiten ausgeführt werden, nicht nur auf Benutzeranfrage hin. Anstatt externe Dienste (wie cron auf dem Server) zu verwenden, arbeitet node-cron direkt innerhalb Ihres Node.js-Prozesses. Dies vereinfacht die Bereitstellung, erfordert keine Konfiguration eines Systemplaners und ist ideal für containerisierte Anwendungen (Docker, Kubernetes).
Installation
Die Installation über npm erfolgt mit einem Befehl:
npm install node-cronNach der Installation ist die Bibliothek einsatzbereit – es sind keine zusätzlichen Abhängigkeiten erforderlich.
Hauptfunktionen
- Flexibler Zeitplan — Unterstützung für standardmäßige cron-Muster (Minuten, Stunden, Tage, Monate, Wochentage).
- Starten und Stoppen — jede Aufgabe kann nach Bedarf gestartet oder gestoppt werden.
- Fehlerbehandlung — ein Callback für die Fehlerprotokollierung kann festgelegt werden, ohne dass die Anwendung abstürzt.
- Einfache Syntax — nur zwei Methoden:
scheduleundvalidate.
Codebeispiel in JavaScript (Node.js)
Erstellen wir eine Aufgabe, die jede Minute die aktuelle Uhrzeit auf der Konsole ausgibt:
const cron = require('node-cron');
// Aufgabe wird jede Minute ausgeführt: '* * * * *'
cron.schedule('* * * * *', () => {
console.log('Aufgabe ausgeführt:', new Date().toLocaleString());
});
console.log('Planer gestartet. Drücken Sie Ctrl+C zum Beenden.');Ein komplexeres Beispiel – Versand eines Berichts jeden Tag um 8 Uhr morgens:
const cron = require('node-cron');
cron.schedule('0 8 * * *', () => {
console.log('Sende täglichen Bericht...');
// Hier rufen Sie die Funktion zum Senden der E-Mail auf
}, {
scheduled: true,
timezone: 'Europe/Moscow'
});Überprüfung der Gültigkeit eines cron-Ausdrucks:
const isValid = cron.validate('*/5 * * * *');
console.log(isValid); // trueWann sollte man node-cron verwenden?
- Automatisierung von Backups — Erstellung eines Datenbank-Dumps jede Nacht.
- Regelmäßige Bereinigung — Löschen veralteter Sitzungen oder temporärer Dateien.
- Überwachung — Überprüfung der Verfügbarkeit von Diensten und Senden von Alarmen.
- Newsletter — Zeitgesteuerter Versand von E-Mails (z. B. Zusammenfassungen).
- Cache-Aktualisierung — Neuerstellung des Caches in verkehrsarmen Zeiten.
Die Bibliothek node-cron eignet sich für Projekte jeder Größe – von einfachen Skripten bis hin zu Microservice-Architekturen. Sie benötigt keine externen Abhängigkeiten und arbeitet auch bei langer Betriebszeit stabil.
Auch in der Bibliothek
Generierung von PDF-Berichten in Swift für iOS und macOS mit PDFKit und Core Graphics
Kryptographie in Swift: Verschlüsselung und Hashing für iOS/macOS
Geolokalisierung und Karten in C# (.NET): Überblick über Bibliotheken und Werkzeuge