異なる間隔でタスクを実行できる Nodejs スケジューラが必要です [closed] 質問する

異なる間隔でタスクを実行できる Nodejs スケジューラが必要です [closed] 質問する

複数のタスクを異なる間隔でスケジュールできるノードジョブスケジュールを探しています。たとえば、

  • 30秒ごとに関数Aを呼び出す
  • 60秒ごとに関数Bを呼び出す
  • 7日ごとに関数Cを呼び出す

プロセスを開始および停止できるようにもしたいです。

これまで、私は以下を見てきました:

  • 後で- 構文がわかりにくいです。また、どうやら1か月を超えてタスクをスケジュールすることはできないようです。

  • 議題- 最も有望に思えますが、データベースの機能については混乱しています

  • タイムプラン- 単純すぎるので、開始したり停止したりできない

後者の構文はわかりにくいと思います。

ベストアンサー1

私がお勧めしますnode-cron実行することができますタスク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();

さらなる例は以下をご覧ください。ノード-cronウィキ

cron設定の詳細については、クローンウィキ

私は多くのプロジェクトでそのライブラリを使用してきましたが、うまく機能しています。お役に立てれば幸いです。

おすすめ記事