最小値60秒のcronジョブセットアップがあり、プログラムを秒間隔で実行できるようにしたい(つまり、60秒以降に設定したものは何でも)。
たとえば、cronジョブを65秒ごと、63秒ごと、または160秒ごとなどに実行したいとします。
これは可能ですか?または、cronジョブのみが60秒間隔で実行されるように設定されていますか?
はいの場合、これのcronジョブはどのようになりますか?
'x'分ごとに実行するように管理しました:これまでのところ、ユーザーが挿入するデータベース値を使用して、設定した分数ごとにcronジョブを実行しました。これは次のようになります。
cron.schedule('*/' + test + ' * * * *', function () {
console.log('running a task every minute');
});
スキーマは次のようになります。
var CronSchema = new mongoose.Schema({
minutes: { type: Number, min: 1 }
})
「x」秒ごとにcronジョブを実行するにはどうすればよいですか?理想的には、ユーザーが秒単位で値を入力できるようにするだけなので、ジョブを2分ごとに実行したい場合は、 120秒と入力します。
Nodeにミドルウェアを使用している場合は、秒も追加できます
cron.schedule('*/' + test + '0,30 * * * * *', function () {
console.log('running a task every minute');
});
30秒ごとに、つまりxx:00:000
およびxx:30:000
Javascriptバージョンには6つの値があり、ネイティブLinux Cronのように5つではないことに注意してください。つまり、6番目の値は秒単位であり、最初の値になります
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ |
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
許可される値に関する完全なドキュメントは crontabのドキュメント にあります
cron.schedule('*/' + test + '0,x * * * * *', function () {
console.log('running a task every x seconds');
});
これはx秒ごとに実行されます。