3ノードのためのタスクスケジューリングパッケージ.js
12062 ワード
⏳ タスクスケジューリングを使用すると、スケジュールされた日付/時刻で、定期的な間隔で実行されるか、指定された間隔の後に一度コードをスケジュールすることができます.Linuxでは、このようなパッケージは、
Node Cron
The
人気 1.449.775ウィークリーダウンロード(この記事の時間まで)
インストール
インストールできます
例
Node Schedule
ノードのスケジュールは、柔軟なcronのようなものではなく、ノードのcronのようなジョブスケジューラです.jsそれはあなたが特定の日付で実行のためのジョブ(任意の関数)をスケジュールすることができます任意の回帰ルールで.それは唯一の任意の時点で(1秒ごとに/今後のジョブを再評価するよりも)1つのタイマーを使用します.
人気 1.941.398 Weeklyダウンロード(この記事の時代まで)
インストール
インストールできます
例
Agenda
アジェンダは、ノードのための軽量ジョブスケジューリングライブラリです.提供するJS 最小限のオーバーヘッド.アジェンダはコードベースを小さく保つことを目指している. モンゴー支持持続層 約束ベースのAPI. スケジューリング可能な優先度,同時性,反復によるスケジューリング cronまたは人間が読める構文によるスケジューリング あなたがフックすることができるイベントバックジョブキュー.
人気 55.774 Weeklyダウンロード(この記事の時代まで)
インストール
国立天文台
インストールできます
モジュールのインポート
通常のJavaScriptコードの場合は、デフォルトの
あなたがから移っているならば の代わりに
例
📱 連絡を取り合う
この記事のような場合は、以下のことを忘れないでください.
Twitter
培地https://richard-wynn.medium.com
ギタブhttps://github.com/richard-wynn
cron
. この記事では、ノードのcronのような機能をエミュレートするトップ4タスクスケジューリングパッケージを紹介します.jsアプリ.Node Cron
The
node-cron
モジュールは、小さなタスクスケジューラのための純粋なJavaScriptのノードです.GNU crontabに基づくJS.このモジュールでは、タスクをノードでスケジュールできます.完全なcrontab構文を使用しているjs.人気
インストール
インストールできます
node-cron
使用によってnpm
.$ npm install --save node-cron
例
var cron = require('node-cron');
cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
Node Schedule
ノードのスケジュールは、柔軟なcronのようなものではなく、ノードのcronのようなジョブスケジューラです.jsそれはあなたが特定の日付で実行のためのジョブ(任意の関数)をスケジュールすることができます任意の回帰ルールで.それは唯一の任意の時点で(1秒ごとに/今後のジョブを再評価するよりも)1つのタイマーを使用します.
人気
インストール
インストールできます
node-schedule
使用によってnpm
.$ npm install node-schedule
例
const schedule = require('node-schedule');
const job = schedule.scheduleJob('42 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
Agenda
アジェンダは、ノードのための軽量ジョブスケジューリングライブラリです.提供するJS
人気
インストール
国立天文台
インストールできます
agenda
使用によってnpm
.$ npm install agenda
また、作業が必要になりますMongo データベース(v 3)をポイントします.モジュールのインポート
通常のJavaScriptコードの場合は、デフォルトの
const Agenda = require('agenda');
タイプスクリプト、ウェブパックまたは他のモジュール輸入のためにagenda/es
エントリポイント:import { Agenda } from 'agenda/es';
注意:@types/agenda
また、インポートをインポートする必要がありますagenda/es
. import Agenda from 'agenda'
用途import Agenda from 'agenda/es'
. 例
const mongoConnectionString = "mongodb://127.0.0.1/agenda";
const agenda = new Agenda({ db: { address: mongoConnectionString } });
// Or override the default collection name:
// const agenda = new Agenda({db: {address: mongoConnectionString, collection: 'jobCollectionName'}});
// or pass additional connection options:
// const agenda = new Agenda({db: {address: mongoConnectionString, collection: 'jobCollectionName', options: {ssl: true}}});
// or pass in an existing mongodb-native MongoClient instance
// const agenda = new Agenda({mongo: myMongoClient});
agenda.define("delete old users", async (job) => {
await User.remove({ lastLogIn: { $lt: twoDaysAgo } });
});
(async function () {
// IIFE to give access to async/await
await agenda.start();
await agenda.every("3 minutes", "delete old users");
// Alternatively, you could also do:
await agenda.every("*/3 * * * *", "delete old users");
})();
agenda.define(
"send email report",
{ priority: "high", concurrency: 10 },
async (job) => {
const { to } = job.attrs.data;
await emailClient.send({
to,
from: "[email protected]",
subject: "Email Report",
body: "...",
});
}
);
(async function () {
await agenda.start();
await agenda.schedule("in 20 minutes", "send email report", {
to: "[email protected]",
});
})();
(async function () {
const weeklyReport = agenda.create("send email report", {
to: "[email protected]",
});
await agenda.start();
await weeklyReport.repeatEvery("1 week").save();
})();
👋 それで?これまでにこれらのパッケージや別のパッケージを使用してノードでcronのものを行うことがあります.JS ?コメントを無料で置く😃📱 連絡を取り合う
この記事のような場合は、以下のことを忘れないでください.
培地https://richard-wynn.medium.com
ギタブhttps://github.com/richard-wynn
Reference
この問題について(3ノードのためのタスクスケジューリングパッケージ.js), 我々は、より多くの情報をここで見つけました https://dev.to/richardwynn/3-task-scheduling-packages-for-node-js-5de4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol