node-cron: JavaScript-Aufgabenplaner

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 (Aufgaben) nach einem Zeitplan auszuführen, indem die Syntax von Cron-Ausdrücken verwendet wird. Sie ist das Pendant zum systemeigenen Cron-Planer in Unix, arbeitet jedoch innerhalb Ihrer Anwendung.

Wozu wird es benötigt?

Die Bibliothek wird zur Automatisierung von Routineoperationen auf dem Server benötigt: Datenbankbereinigung, Versand von E-Mail-Newslettern, Erstellung von Backups, Cache-Aktualisierung, Daten-Parsing und alle anderen periodischen Aufgaben. Dies erspart die Notwendigkeit, eigene Timer zu schreiben und Zeitintervalle manuell zu verwalten.

Installation

Die Installation erfolgt über npm oder yarn:

npm install node-cron

oder

yarn add node-cron

Hauptfunktionen

  • Einfache Syntax: Verwendet standardmäßige Cron-Ausdrücke (Minuten, Stunden, Tage usw.)
  • Flexibilität: Unterstützung für Sekunden, optionale Zeitzone, Ausführung an Werktagen/Wochenenden
  • Aufgabenverwaltung: Methoden start(), stop(), destroy() zur Steuerung der Ausführung
  • Leichtgewichtigkeit: Keine externen Abhängigkeiten erforderlich, die Bibliotheksgröße ist minimal

Codebeispiel in JavaScript (Node.js)

const cron = require('node-cron');

// Aufgabe: Jede Minute eine Nachricht ausgebencron.schedule('* * * * *', () => { console.log('Aufgabe wird jede Minute ausgeführt');});

// Aufgabe: Jeden Tag um 9:30 Uhr morgenscron.schedule('30 9 * * *', () => { console.log('Tägliche Aufgabe um 9:30');});

// Aufgabe: Jeden Montag um 8:00 Uhrcron.schedule('0 8 * * 1', () => { console.log('Montag, 8:00 — Zeit für den Bericht');});

// Aufgabe mit Sekunden: Alle 10 Sekundencron.schedule('*/10 * * * * *', () => { console.log('10 Sekunden sind vergangen');});

// Aufgabe nach 5 Sekunden stoppenconst task = cron.schedule('*/1 * * * * *', () => { console.log('Endlose Aufgabe');});setTimeout(() => { task.stop(); console.log('Aufgabe gestoppt');}, 5000);

Wann verwenden

Verwenden Sie node-cron, wenn Sie Code zu einer bestimmten Zeit oder in einem bestimmten Intervall innerhalb einer Node.js-Anwendung ausführen müssen. Es ist ideal geeignet für:

  • regelmäßige Bereinigung temporärer Dateien oder Logs;
  • Versand von Benachrichtigungen oder E-Mails nach Zeitplan;
  • Synchronisation von Daten mit externen APIs;
  • Generierung von Berichten im Hintergrund;
  • Ausführung von Tests oder Server-Health-Checks.

Die Bibliothek ist nicht für hochbelastete verteilte Systeme geeignet (hierfür ist eine Aufgabenwarteschlange besser), aber für die meisten typischen Szenarien ist sie die optimale Lösung.

Empfehlungen