[解決済み] 異なる間隔でタスクを実行できるNodejsのスケジューラが欲しい【非公開
2022-05-26 19:10:04
質問
私は、異なる間隔で多くのタスクをスケジュールすることができるノードジョブスケジュールを探しています。例えば
- 30秒ごとに関数Aを呼び出す
- 60秒ごとに関数Bを呼び出す
- 関数Cを7日ごとに呼び出す
また、プロセスの開始と停止ができるようにしたい。
ここまで、見てきました。
-
後 - この構文は私を混乱させます。また、どうやら一ヶ月を超えるタスクをスケジュールすることはできないようです。
-
議題 - は最も有望だと思いますが、データベース機能については混乱しています。
-
タイムプラン - シンプルすぎて、開始と停止ができない
後者の構文は分かりにくいですね。
どのように解決するのですか?
私がお勧めするのは
node-cron
. これによって
タスク
を実行することができます。
'* * * * * *' - runs every second
'*/5 * * * * *' - runs every 5 seconds
'10,20,30 * * * * *' - run at 10th, 20th and 30th second of every minute
'0 * * * * *' - runs every minute
'0 0 * * * *' - runs every hour (at 0 minutes and 0 seconds)
しかし、さらに 複雑な のスケジュールもあります。
'00 30 11 * * 1-5' - Runs every weekday (Monday through Friday) at 11:30:00 AM. It does not run on Saturday or Sunday.
サンプルコード : 10分ごとにジョブを実行します。
var cron = require('cron');
var cronJob = cron.job("0 */10 * * * *", function(){
// perform operation e.g. GET request http.get() etc.
console.info('cron job completed');
});
cronJob.start();
他の例は ノードクロン wiki
cronの設定について、詳しくは cron wiki
私は多くのプロジェクトでそのライブラリを使用しており、それは仕事をします。それが助けになることを願っています。
関連
-
[解決済み】mongoError: トポロジーが破壊されました
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】ENOENT, そのようなファイルまたはディレクトリがありません。
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み】Mongooseで、日付でソートするにはどうしたらいいですか?(node.js)
-
[解決済み] create-react-app、インストールエラー("コマンドが見つからない")。
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] Macでポート3000をロックしているプロセスを見つける(そして殺す)【終了
-
[解決済み] エラー: ノード出力を "|head" にパイプするときに EPIPE を書き込む。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み】Passport.js - エラー: ユーザーのセッションへのシリアライズに失敗しました。
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] Express.js req.bodyが未定義です。
-
[解決済み] npm not able to find a fileに関連するエラーは何が原因でしょうか?node_modules サブフォルダ内にコンテンツがありません。なぜでしょうか?
-
[解決済み] node.jsのジョブスケジューラライブラリはありますか?[クローズド]