ノードクロン
node-cron モジュールは、GNU crontabに基づいた、node.js 用の純粋な JavaScript の小さなタスク スケジューラです。このモジュールを使用すると、完全な crontab 構文を使用して、node.js でタスクをスケジュールできます。
はじめる
npmを使用してnode-cronをインストールします。
1$ npm install --save node-cron
node-cron をインポートし、タスクをスケジュールします。
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * * *', function(){
console.log('running a task every minute');
});
Cron 構文
これは cron 構文のクイック リファレンスであり、node-cron でサポートされるオプションも示しています。
Allowed fields
1
2
3
4
5
6
7
8
9 # ┌────────────── second (optional)
# │ ┌──────────── minute
# │ │ ┌────────── hour
# │ │ │ ┌──────── day of month
# │ │ │ │ ┌────── month
# │ │ │ │ │ ┌──── day of week
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *
Allowed values
分野 | 価値 |
---|---|
2番 | 0-59 |
分 | 0-59 |
時間 | 0-23 |
月の日 | 1-31 |
月 | 1-12 (または名前) |
曜日 | 0-7 (または名前、0 または 7 は日曜日) |
複数の値の使用
カンマで区切って複数の値を使用できます。
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1,2,4,5 * * * *', function(){
console.log('running every minute 1, 2, 4 and 5');
});
範囲の使用
値の範囲を定義することもできます。
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1-5 * * * *', function(){
console.log('running every minute to 1 from 5');
});
ステップ値の使用
ステップ値は範囲と組み合わせて使用でき、範囲の後に「/」と数字が続きます。例:1-10/2
それは と同じです2,4,6,8,10
。ステップ値はアスタリスクの後にも使用できるため、「2 分ごと」と言いたい場合は、 、そのまま使用してください*/2
。
1
2
3
4
5var cron = require('node-cron');
cron.schedule('*/2 * * * *', function(){
console.log('running a task every two minutes');
});
名前の使用
月と曜日には、名前または短い名前を使用することもできます。例:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * January,September Sunday', function(){
console.log('running on Sundays of January and September');
});
または短い名前を使用する場合:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * Jan,Sep Sun', function(){
console.log('running on Sundays of January and September');
});
cron メソッド
Schedule
cron 式がチェックされるたびに、指定されたタスクが実行されるようにスケジュールします。
引数:
- !string 式 - Cron 式
- !Function func - 実行するタスク
- boolean?immediateStart - 作成直後にスケジューラを開始するかどうか。
ScheduledTask メソッド
Start
スケジュールされたタスクを開始します。
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('immediately started');
}, false);
task.start();
Stop
タスクは再起動しない限り実行されません。
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('will execute every minute until stopped');
});
task.stop();
Destroy
タスクは停止され、完全に破棄されます。
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('will not execute anymore, nor be able to restart');
});
task.destroy();
Validate
指定された文字列が有効な cron 式であることを検証します。
1
2
3
4var cron = require('node-cron');
var valid = cron.validate('59 * * * *');
var invalid = cron.validate('60 * * * *');
問題
問題や機能強化のリクエストは、こちらからお気軽に送信してください。
貢献者
一般に、「フォーク アンド プル」Git ワークフローに従います。
- GitHub でリポジトリをフォークします。
- フォーク内のブランチに変更をコミットします。
- 変更を加えてリクエストを「アップストリーム」にプルします。
注: プル リクエストを行う前に、必ず「アップストリーム」から最新のものをマージしてください。
法的能力があると確信できる場合を除き、自分で書いていないコードを投稿しないでください。また、投稿されたすべてのコードが ISC ライセンスに基づいて配布できることを確認してください。
ライセンス
node-cron が下にありますISC License。