я вижу из 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] } }
как I цикл через JobList удалить каждую работу?
Альтернативный код:
var jobList = schedule.scheduledJobs;
for(jobName in jobList){
var job = 'jobList.' + jobName;
eval(job+'.cancel()');
}
Я получаю 'jobList.Announcement0.cancel() ^ TypeError: не удается прочитать свойство 'отмена' неопределенной ' Как проверить, существует ли задание, прежде чем пытаться отменить его, так как я точно не знаю, существует ли он или нет, просто удалите его, если это произойдет. – MorningSleeper
У вас есть эта ошибка, потому что DeleteTesting0 не существует в вашем списке заданий. Я обновил ответ, проверяя, существует ли работа до ее удаления. –
Получил это, спасибо, кстати, как вариант, могу ли я пройти через объект и удалить каждое задание с кодом, как я добавил к нижней части вопроса? Мне все равно, удалены ли все задания. – MorningSleeper