gpt4 book ai didi

javascript - 议程.JS : How to schedule an event starting at X time and repeat there after every month?

转载 作者:搜寻专家 更新时间:2023-10-31 23:51:15 26 4
gpt4 key购买 nike

我想安排这样的任务:

  1. 安排 11 月 1 日开始的任务
  2. 之后每个月重复该任务
  3. 我不想在任务安排在 11 月 1 日才开始的那一刻运行它。

我正在使用 Agenda.js我需要确保我正确地执行了此操作,尤其是第 3 点。它无法在计划的那一刻运行。

这是我的想法:

const Agenda = require('agenda');
const agenda = new Agenda({db: { address:'mongodb://127.0.0.1/agenda' } });

agenda.define('task', (job, done) => {
console.log('The task is running', job.attrs.hello);
done();
});


agenda.run(() => {
var event = agenda.create('task', { hello: 'world' })
event.schedule(new Date('2017-11-01'));
event.repeatEvery('1 month'); // Will this run every month from now or after 2017-11-01?
agenda.start();
})

但是,我不确定这条线会如何表现:

event.repeatEvery('1 month'); 

问题这个是从现在开始还是2017-11-01之后每个月运行一次?

最佳答案

这也是在他们的 github 上提出的一个常见问题。从我在这里找到的[议程问题 758][1]。您所要做的就是在计划调用的末尾附加调用 repeatEvery。

所以你的例子来自:

agenda.run(() => {
var event = agenda.create('task', { hello: 'world' })
event.schedule(new Date('2017-11-01'));
event.repeatEvery('1 month'); // Will this run every month from now or after 2017-11-01?
agenda.start();
})

到:

agenda.run(() => {
var event = agenda.create('task', { hello: 'world' })
event.schedule(new Date('2017-11-01')).repeatEvery('1 month');
agenda.start();
})

回复晚了,但我回答了,因为我发现这个答案很难找到。 [1]: https://github.com/agenda/agenda/issues/758

关于javascript - 议程.JS : How to schedule an event starting at X time and repeat there after every month?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46956527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com