1

我正在尝试使用agenda在某个日期和时间安排作业,但是在达到指定日期时作业没有运行。

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

agenda.create(type, data)
.schedule(new Date(startDate))
.repeatEvery('11 21 * * *', {timezone: 'Europe/Bucharest'})
.save();

这就是我开始的方式agenda

const Agenda = require('agenda');
const mongoDB = process.env.DB_PATH;

const mongoConnectionString = mongoDB;

let agenda = new Agenda({db: {address: mongoConnectionString, collection: 'jobs'}});

let jobTypes = process.env.JOB_TYPES ? process.env.JOB_TYPES.split(',') : [];

jobTypes.forEach(function(type) {
  require('./jobs/' + type)(agenda);
});

if(jobTypes.length) {
  agenda.on('ready', function() {
    console.log('agenda start')
    agenda.start();
  });
}

function graceful() {
    agenda.stop(function() {
      process.exit(0);
    });
}

process.on('SIGTERM', graceful);
process.on('SIGINT' , graceful);

export default agenda;

这是一个未在预定日期开始的作业的示例:

在此处输入图像描述

有什么我做错了吗?

编辑:如果我这样做,工作就会被触发schedule(new Date()),但它不会使用定义的日期。

4

0 回答 0