0

议程作业库,请帮我在每个月的最后一天 23:50 运行 cron。

const cron = job.create('sendInvoice', {
      msg: 'Hello world',
});
await cron.repeatEvery('0 0 * * * *').repeatEvery('1 month').save(); //Executive daily
4

1 回答 1

1

首先,您需要一个针对您的案例的 cron 表达式(您可以使用在线生成器,例如这个)。我还将定义作业,然后安排它every而不是手动使用它(尽管它也是可能的)。

以下代码应该按照您希望的方式工作:

const Agenda = require('agenda');

const agenda = new Agenda({ db: { address: /* your mongodb connection string */ } });

agenda.define('yourJobName', (job) => {
  // do something
}

agenda.on('ready', () => {
  const schedule = '0 50 23 L * ? *'; // every last day of the month at 23:50
  agenda.every(schedule, 'yourJobName');
}

agenda.start();

于 2020-06-03T20:48:20.370 回答