3

有什么方法可以使用agenda图书馆在特定日期开始工作吗?

这就是我创造工作的方式:

const someData = {
  name: 'Name',
  value: 'Value'
}
const job = await agenda.create('daily alert', someData);
await job.repeatEvery('1 day').save() // specify when to start

但此时工作在创建后立即开始,我想以某种方式指定它应该开始的日期,比如明天。

4

2 回答 2

0

这对你有用。

const scheduleAJobOnlyOnce = (options) => {
    let job = this.Agenda.create(options.jobName, options);
    job.schedule(options.start); // run at this time
    job.save(); 
  };
于 2020-10-16T17:15:02.723 回答
0

使用议程.schedule( when, job, data)

安排作业在给定时间运行一次 name。when 可以是日期或字符串,例如明天下午 5 点。 https://github.com/agenda/agenda#schedulewhen-name-data-cb


agenda.define('send email report', {priority: 'high', concurrency: 10}, (job, done) => {
  const {to} = job.attrs.data;
  emailClient.send({
    to,
    from: 'example@example.com',
    subject: 'Email Report',
    body: '...'
  }, done);
});

(async function() {
  await agenda.start();
  await agenda.schedule('tomorrow at 5pm', 'send email report', {to: 'admin@example.com'});
})();
于 2019-02-22T20:09:14.867 回答