私はあなたが例えば名前で一つ一つ...node-scheduleのすべてのスケジュールを削除するにはどうすればいいですか?
var schedule = require('node-schedule');
// sample announcement
var rule = new schedule.RecurrenceRule();
rule.dayOfWeek = [1, 2, 3, 4, 5];
rule.minute = 50;
rule.hour = 12;
var message = schedule.scheduleJob("AnnouncementOne", rule, function() {
// make my announcement
})
AnnouncementOne.cancel();
を削除することができますが、私は一つ一つを削除するには、それらを介して、すべてのスケジュールされたジョブと、ループを取得するためのコードを希望docsからご覧ください。私は、次の各ジョブを削除するJOBLISTを通じてIループやるか...
{ 'AnnouncementOne':
Job {
job: [Function],
callback: false,
name: 'AnnouncementOne',
trackInvocation: [Function],
stopTrackingInvocation: [Function],
triggeredJobs: [Function],
setTriggeredJobs: [Function],
cancel: [Function],
cancelNext: [Function],
reschedule: [Function],
nextInvocation: [Function],
pendingInvocations: [Function] },
'AnnouncementTwo':
Job {
job: [Function],
callback: false,
name: 'AnnouncementTwo',
trackInvocation: [Function],
stopTrackingInvocation: [Function],
triggeredJobs: [Function],
setTriggeredJobs: [Function],
cancel: [Function],
cancelNext: [Function],
reschedule: [Function],
nextInvocation: [Function],
pendingInvocations: [Function] } }
を慰めるために、次の出力のすべてのジョブ...
var jobList = schedule.scheduledJobs;
を取得すると思いますか?
代替コード:
var jobList = schedule.scheduledJobs;
for(jobName in jobList){
var job = 'jobList.' + jobName;
eval(job+'.cancel()');
}
私が手 'jobList.Announcement0.cancel() ^ はTypeError:プロパティを読み取ることができません未定義 'の 'キャンセル' 10 ジョブが存在するかどうかわからないので、ジョブをキャンセルしようとする前にジョブが存在するかどうかをテストするにはどうすればいいですか? – MorningSleeper
DeleteTesting0がジョブのリストに存在しないため、このエラーが発生します。私は、ジョブを削除する前に存在するかどうかをチェックして答えを更新しました。 –
オプションを使って、感謝、btw、私はオブジェクトを通過し、質問の下部に追加したようなコードで各ジョブを削除することができますか?すべての仕事が削除されても気にしない。 – MorningSleeper