基于MongoDB时间戳记的节点cron邮件程序

时间:2018-07-11 09:22:46

标签: node.js mongodb cron node-cron

我正在尝试根据MongoDB数据库中一列中的时间戳设置cron电子邮件作业,这是到目前为止我尝试过的代码...

let CronJob = require('cron').CronJob;
let nodemailer = require('nodemailer');

//user.timestamp is a field in a MongoDB database
new CronJob('* * * * * *', function() {

  if(Date.now().toString() === user.timestamp){

    let message = {
      // Relevant message stuff here
    };

    transporter.sendMail(message, (error, info) => {
      if (error) {
        console.log('Error occurred');
        console.log(error.message);
        return process.exit(1);
      }

      console.log('Message sent successfully!');

      // only needed when using pooled connections
      transporter.close();
    });

  }

});

...但是,电子邮件没有发出邮件。关于如何在UNIX时间戳匹配当前日期/时间时如何设置cron作业运行的任何想法?

1 个答案:

答案 0 :(得分:0)

您要提供给sendMail函数的选项似乎不正确-您只是向其提供消息内容。您可以使用以下语法尝试一下吗?

$table->foreign('schedule_id')->references('id')->on('schedule_instagram_accounts')->onDelete('cascade');