特定の時間に実行する機能をスケジュールできるcronのようなライブラリはありますか(たとえば、今からx時間ではなく15:30など)。この種のライブラリがない場合、これをどのように実装する必要がありますか?コールバックが毎秒呼び出されるように設定し、時間を確認し、その時間にスケジュールされたジョブを開始する必要がありますか?
node-cron は、私が説明したことを行います
node-schedule Node用のcronに似たジョブスケジューラー。
agenda は、ノードの軽量ジョブスケジューリングです。これはあなたを助けます。
later.js は、非常に優れたJavaScript「スケジューラ」ライブラリです。 Node.jsまたはWebブラウザーで実行できます。
私はkueを使用しています: https://github.com/learnboost/kue 。かなりいいです。
公式の機能と私のコメント:
編集:
node-crontab を使用すると、node.jsからシステムcronジョブを編集できます。このライブラリを使用すると、メインプロセスが終了した後でもプログラムを実行できます。免責事項:私は開発者です。
使用できますtimexe
使いやすく、軽量で、依存関係がなく、cronよりも構文が改善されており、ミリ秒単位の解像度でブラウザーで動作します。
インストール:
npm install timexe
つかいます:
var timexe = require('timexe');
var res = timexe("* * * 15 30", function(){ console.log("It's now 3:30 pm"); });
(私は著者です)
私は node-runnr のオーホーです。ジョブを作成するための非常にシンプルなアプローチがあります。また、時間と間隔を宣言するのが非常に簡単で明確です。たとえば、10分20秒ごとにジョブを実行するには、
Runnr.addIntervalJob('10:20', function(){...}, 'myjob')
毎日午前10時と午後3時に仕事をするには、
Runnr.addDailyJob(['10:0:0', '15:0:0'], function(){...}, 'myjob')
そのシンプル。詳細: https://github.com/Saquib764/node-runnr
これらのすべての答えと誰もが最も人気のあるNPMパッケージを指していません.. cron
node-schedule と node-cron の両方を使用して、cronベースのスケジューラを実装できます。
NOTE:cron式を生成するために、これを使用できます cron_maker
これはすべての人に適しているわけではありませんが、アプリケーションが既にソケット経由でコマンドを実行するように設定されている場合、netcatを使用してcron経由でコマンドを発行できます。
echo 'mycommand' | nc -U /tmp/myapp.sock