Inhaltsverzeichnis
Die vom Egg-Framework bereitgestellte schduler-geplante Aufgabe
node-schedule
Am Ende geschrieben
Heim Web-Frontend js-Tutorial Eine kurze Diskussion darüber, wie geplante Aufgaben in Nodejs ausgeführt werden

Eine kurze Diskussion darüber, wie geplante Aufgaben in Nodejs ausgeführt werden

Oct 25, 2021 am 09:49 AM
nodejs 定时任务

In diesem Artikel erfahren Sie, wie Sie geplante Aufgaben in Node implementieren. Ich hoffe, er wird Ihnen hilfreich sein!

Eine kurze Diskussion darüber, wie geplante Aufgaben in Nodejs ausgeführt werden

Derzeit sind wir auf eine solche Nachfrage gestoßen. Jeder Benutzer kann die Zeitkonfiguration der geplanten Aufgabe vom Benutzer konfigurieren und kann jederzeit geändert werden, anstatt die Zeit auf dem herkömmlichen Server festzulegen Führen Sie die geplante Aufgabe aus. [Empfohlenes Lernen: „nodejs Tutorial“]

Wenn der geplante Aufgabenzyklus bekannt ist, können geplante Linux Crontab-Aufgaben implementiert werden. Es gibt bereits relativ ausgereifte Lösungen in Node. Im Folgenden werde ich die Lösung für geplante Node-Aufgaben vorstellen, die ich über mich selbst gelernt habe.

Die vom Egg-Framework bereitgestellte schduler-geplante Aufgabe

egg ist Alibabas Node-Anwendungsframework auf Unternehmensebene. Es bietet eine Reihe von Mechanismen für Entwickler, um geplante Aufgaben elegant zu schreiben: https://eggjs.org/zh-cn/basics/schedule.html Die spezifische Verwendung wird hier nicht näher erläutert, die Konfigurationsverwendung wird jedoch kurz erläutert.

1. Statische geplante Aufgaben, also geplante Zyklen, verfügen über eine fest codierte Verarbeitungslogik.

2. Geplante Aufgaben dynamisch konfigurieren, was relativ flexibler ist. Entwickler können den geplanten Aufgabenzyklus über Konfigurationsdateien steuern.

3. Geplante Aufgaben manuell über Code auslösen. Wir können anhand einer bestimmten Logik bestimmen, ob geplante Aufgaben ausgelöst werden sollen.

Aufgrund der oben genannten drei Punkte können die von Egg bereitgestellten geplanten Aufgaben unsere Anforderungen an die Konfiguration des Zeitintervalls durch Benutzer nicht erfüllen. Daher können wir nur nach anderen Lösungen suchen, indem wir die Daten abfragen. Wir haben festgestellt, dass die Node-Schedule-Bibliothek dies auch tut Bietet die Funktion geplanter Aufgaben.

node-schedule

Nachdem er die Dokumentation von node-schedule https://www.npmjs.com/package/node-schedule durchgesehen hat, ist seine Verwendung wie folgt:

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

const job = schedule.scheduleJob('42 * * * *', function(){
  console.log('The answer to life, the universe, and everything!');
});
Nach dem Login kopieren

Ja, er unterstützt seit Defining Der Timing-Zyklus kann unseren Bedürfnissen entsprechen und unsere Wahl sein.

Als ich weiterhin die Nutzungsartikel anderer Entwickler durchstöberte, fand ich eine Aufzeichnung verwandter Probleme mit Node-Schedule. Kurz gesagt, der Timer wurde zur geplanten Zeit ausgeführt. 2 mal. Für spezifische Fragen schauen Sie sich bitte den Originaltext an: https://cnodejs.org/topic/5b58414b8d66b90b2b7384a7. Dies ist ein Problem mit geringer Wahrscheinlichkeit. Aufgrund unserer Anforderungen wird der Timer nicht ausgeführt, was keinen Einfluss auf unsere Ergebnisse hat. Daher ist dies kein Hindernis, das uns daran hindert, ihn zu verwenden Auf Fehler testen.

Am Ende geschrieben

Abschließend finden Sie hier eine Zusammenfassung der geplanten Aufgabenlösungen unseres eigenen Projekts. Schüler, die nicht interessiert sind, können diese überspringen.

Unser Backend verwendet das Egg-Framework, daher besteht unsere endgültige Lösung darin, dem Agentenprozess einen Node-Schedule-Timer hinzuzufügen. Der Timer wird im Agentenprozess synchron ausgeführt. Derzeit ist die Anzahl unserer Benutzer nicht groß Ich denke vorerst nur an diese Lösung, und das Backend kann in Zukunft verteilt bereitgestellt werden, nachdem das Volumen erhöht wurde.

Dies wird ein Problem sein, und wenn das Volumen groß ist, wird es auch ein Problem sein, es in einem einzelnen Prozess auszuführen, und Egg selbst empfiehlt nicht, zu viele geschäftsbezogene Dinge im Agentenprozess zu erledigen. Ein weiterer wichtiger Punkt ist, dass der Agent ein Hilfsprozess ist. Wenn ein nicht erfasster Fehler auftritt, wird der Agent nicht beendet und neu gestartet. Daher muss die Fehlertoleranzverarbeitung ordnungsgemäß durchgeführt werden.

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmiervideos! !

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion darüber, wie geplante Aufgaben in Nodejs ausgeführt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen NodeJS und VueJS Der Unterschied zwischen NodeJS und VueJS Apr 21, 2024 am 04:17 AM

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, während Vue.js ein clientseitiges JavaScript-Framework zum Erstellen interaktiver Benutzeroberflächen ist. Node.js wird für die serverseitige Entwicklung verwendet, beispielsweise für die Entwicklung von Back-End-Service-APIs und die Datenverarbeitung, während Vue.js für die clientseitige Entwicklung verwendet wird, beispielsweise für Single-Page-Anwendungen und reaktionsfähige Benutzeroberflächen.

Ist NodeJS ein Backend-Framework? Ist NodeJS ein Backend-Framework? Apr 21, 2024 am 05:09 AM

Node.js kann als Backend-Framework verwendet werden, da es Funktionen wie hohe Leistung, Skalierbarkeit, plattformübergreifende Unterstützung, ein umfangreiches Ökosystem und einfache Entwicklung bietet.

So verbinden Sie NodeJS mit der MySQL-Datenbank So verbinden Sie NodeJS mit der MySQL-Datenbank Apr 21, 2024 am 06:13 AM

Um eine Verbindung zu einer MySQL-Datenbank herzustellen, müssen Sie die folgenden Schritte ausführen: Installieren Sie den MySQL2-Treiber. Verwenden Sie mysql2.createConnection(), um ein Verbindungsobjekt zu erstellen, das die Hostadresse, den Port, den Benutzernamen, das Passwort und den Datenbanknamen enthält. Verwenden Sie „connection.query()“, um Abfragen durchzuführen. Verwenden Sie abschließend Connection.end(), um die Verbindung zu beenden.

Was sind die globalen Variablen in NodeJS? Was sind die globalen Variablen in NodeJS? Apr 21, 2024 am 04:54 AM

Die folgenden globalen Variablen sind in Node.js vorhanden: Globales Objekt: global Kernmodul: Prozess, Konsole, erforderlich Laufzeitumgebungsvariablen: __dirname, __filename, __line, __column Konstanten: undefiniert, null, NaN, Infinity, -Infinity

Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Apr 21, 2024 am 05:18 AM

Es gibt zwei npm-bezogene Dateien im Node.js-Installationsverzeichnis: npm und npm.cmd. Die Unterschiede sind wie folgt: unterschiedliche Erweiterungen: npm ist eine ausführbare Datei und npm.cmd ist eine Befehlsfensterverknüpfung. Windows-Benutzer: npm.cmd kann über die Eingabeaufforderung verwendet werden, npm kann nur über die Befehlszeile ausgeführt werden. Kompatibilität: npm.cmd ist spezifisch für Windows-Systeme, npm ist plattformübergreifend verfügbar. Nutzungsempfehlungen: Windows-Benutzer verwenden npm.cmd, andere Betriebssysteme verwenden npm.

Gibt es einen großen Unterschied zwischen NodeJS und Java? Gibt es einen großen Unterschied zwischen NodeJS und Java? Apr 21, 2024 am 06:12 AM

Die Hauptunterschiede zwischen Node.js und Java sind Design und Funktionen: Ereignisgesteuert vs. Thread-gesteuert: Node.js ist ereignisgesteuert und Java ist Thread-gesteuert. Single-Threaded vs. Multi-Threaded: Node.js verwendet eine Single-Threaded-Ereignisschleife und Java verwendet eine Multithread-Architektur. Laufzeitumgebung: Node.js läuft auf der V8-JavaScript-Engine, während Java auf der JVM läuft. Syntax: Node.js verwendet JavaScript-Syntax, während Java Java-Syntax verwendet. Zweck: Node.js eignet sich für I/O-intensive Aufgaben, während Java für große Unternehmensanwendungen geeignet ist.

Ist NodeJS eine Back-End-Entwicklungssprache? Ist NodeJS eine Back-End-Entwicklungssprache? Apr 21, 2024 am 05:09 AM

Ja, Node.js ist eine Backend-Entwicklungssprache. Es wird für die Back-End-Entwicklung verwendet, einschließlich der Handhabung serverseitiger Geschäftslogik, der Verwaltung von Datenbankverbindungen und der Bereitstellung von APIs.

Welches soll man zwischen NodeJS und Java wählen? Welches soll man zwischen NodeJS und Java wählen? Apr 21, 2024 am 04:40 AM

Node.js und Java haben jeweils ihre Vor- und Nachteile in der Webentwicklung, und die Wahl hängt von den Projektanforderungen ab. Node.js zeichnet sich durch Echtzeitanwendungen, schnelle Entwicklung und Microservices-Architektur aus, während Java sich durch Support, Leistung und Sicherheit auf Unternehmensniveau auszeichnet.

See all articles