【发布时间】:2017-02-16 22:51:23
【问题描述】:
我从docs看到你可以一一删除例如...
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();
但我想要代码来获取所有预定的作业,然后循环遍历它们以删除每个作业。我认为以下获得了所有的工作......
var jobList = schedule.scheduledJobs;
以下输出到控制台...
{ '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] } }
如何循环通过 jobList 删除每个作业?
替代代码:
var jobList = schedule.scheduledJobs;
for(jobName in jobList){
var job = 'jobList.' + jobName;
eval(job+'.cancel()');
}
【问题讨论】:
标签: javascript node.js scheduled-tasks