2016-10-17 8 views
3

私は、最小値60秒のcronジョブ設定を持っています。プログラムを2番目の間隔、つまり60秒以降に設定する。 cronジョブを 'x'秒ごとに実行することができます

だから例えば、私は、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 } 
}) 

どのように私は、cronジョブごと 'はX' 秒を実行できますか? 理想的には、ユーザーが秒単位で値を入力できるようにするため、2分ごとにジョブを実行する場合は120秒を入力する必要があります。

+0

実際には[タグ:cron]を使用しているかどうかを確認できますか? – OrangeDog

+0

なぜ 'setInterval'を使わないのですか? – DrakaSAN

+0

Linuxの 'cron'デーモンは毎分だけチェックします。 x秒のタイマーで何かを実行するには、他の何らかの仕組みが必要です。 –

答えて

4

あなたはノードのためのミドルウェアを使用している場合、あなたは

同様

cron.schedule('*/' + test + '0,30 * * * * *', function() { 
    console.log('running a task every minute'); 
}); 
を秒を追加することができますがjavascriptのバージョンは6つの値を持っていること、すなわち xx:00:000xx:30:000

注意の上、30秒ごとに実行され、 5番目のネイティブLinux Cronのようなものではなく、6番目のものが1番目の秒であることを意味します。

* * * * * * 
┬ ┬ ┬ ┬ ┬ ┬ 
│ │ │ │ │ | 
│ │ │ │ │ └ 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) 

フルドキュメント許可された値のnはcrontab documentation

関連する問題