我正在使用 node-schedule npm 包来安排作业。我参考下面的链接来设置不同作业的作业名称/ID, 设置后取消节点调度事件
当我直接使用 cron 表达式来安排作业时,效果很好。但是当我使用 RecurrenceRule() 来安排工作时它不起作用。
请帮我解决这个问题。
使用作业 ID 和 cron 表达式调度作业的工作代码片段,
// code that works
function test(fn)
{
let rule = '* * * * *'
let jobId = "my_event_1"
schedule.scheduleJob(jobId,rule,()=>{fn()})
}
test(print)
打印功能,
function print()
{
console.log("HELLO",new Date())
}
不适用于重复规则的代码,
// Recurrence rule used
function my_scheduleJob(id,tz,cron_expression,function_name)
{
var mxTimezones = "Asia/Kolkata";
var interval = parser.parseExpression(cron_expression, options);
var cronDate = interval.next();
var rule = new schedule.RecurrenceRule();
rule.second = cronDate.getSeconds();
rule.minute = cronDate.getMinutes();
rule.tz = mxTimezones; // You can specify a timezone!
schedule.scheduleJob(rule,()=>{
console.log("Scheduler test-------")
function_name(rule.tz)
})
}
my_scheduleJob("job1", "Asia/Kolkata", "* * * * *", print)
我使用重复规则的原因是设置时区。是否可以使用重复规则和作业 ID 来安排作业?
提前致谢 !!!