node-cron — Aufgabenplaner für Node.js

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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-cron

Nach 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: schedule und validate.

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); // true

Wann 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.

Empfehlungen