Начало работы по повестке дня на определенную дату - PullRequest
0 голосов
/ 22 января 2019

Есть ли способ начать работу в определенную дату, используя библиотеку 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

Но в этот момент задание запускается сразу после его создания, и я хочу как-то указать дату, когда оно должно начаться, как завтра.

1 Ответ

0 голосов
/ 22 февраля 2019

Использовать повестку дня.schedule (when, job, data)

Запланирует задание на запуск имени один раз в указанное время. когда может быть дата или Строка, такая как завтра в 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'});
})();
...