Javascript 使用节点计划在*特定*时间运行

Javascript 使用节点计划在*特定*时间运行,javascript,node-schedule,Javascript,Node Schedule,使用节点计划程序设置定期作业。我需要每周7天在几个特定的时间-例如上午5:45、上午6:30、上午11:15等 我制定了规则: let rule = new schedule.RecurrenceRule(); rule.dayOfWeek = [1,2,3,4,5,6,7] 现在,如果我将小时和分钟添加为数组,那么看起来它们在所有分钟中运行了所有小时-例如 rule.hour = [5,6,11]; rule.minute = [45,30,15]; 这将在早上5:45,6:45,11:4

使用节点计划程序设置定期作业。我需要每周7天在几个特定的时间-例如上午5:45、上午6:30、上午11:15等

我制定了规则:

let rule = new schedule.RecurrenceRule();
rule.dayOfWeek = [1,2,3,4,5,6,7]
现在,如果我将小时和分钟添加为数组,那么看起来它们在所有分钟中运行了所有小时-例如

rule.hour = [5,6,11];
rule.minute = [45,30,15];
这将在早上5:45,6:45,11:45,5:30,6:30,11:30运行


如何使用规则设置准确的时间?同样,在我的示例5:45am、06:30am、11:15am中,
节点调度模块似乎支持cron语法。但是,由于您想要的调度不能用cron在单个规则中表示,因此您也不能在节点调度的单个规则中定义它。与cron规则一样,使用规则的
dayOfWeek
hour
minute
定义在
day
hour
minute
的每个组合上调度作业

看一下文档中的部分,如何为每天的特定时间定义规则,并为每次需要创建和安排单独的规则

let hour = [5, 6, 11];
let minute = [45, 30, 15];

for (let i = 0; i < hour.length; i++) {
  let rule = new schedule.RecurrenceRule();
  rule.dayOfWeek = [0, 1, 2, 3, 4, 5, 6];
  rule.hour = hour[i];
  rule.minute = minute[i];

  let j = schedule.scheduleJob(rule, function(){
    //your job
  });
}
let hour=[5,6,11];
让分钟=[45,30,15];
for(设i=0;i
另一种方法是使用。如果未按如下所示指定工作日,则可申请安排每天的时间

let times = [
  {hour: 5, minute: 45}, 
  {hour: 6, minute: 30}, 
  {hour: 11, minute: 15}
];
times.forEach(function(time) {
  var j = schedule.scheduleJob(time, function() {
    // your job
    console.log('Time for tea!');
  });
})


谢谢你的反馈。我最初的设置类似于你们上面提供的代码,但我试图将其全部纳入一个规则中。我在一个表中直观地显示作业及其下一次调用,并且希望在表中列出单个作业(名称)。我会做更多的研究,如果我有其他想法,我会在这里发帖。再次感谢您的及时反馈!