nodejs中的调度任务定期向用户发送电子邮件



我正尝试使用node-cron从我的nodejs应用程序中根据用户的偏好定期(每天、每周、每月(向用户发送电子邮件。在这里,用户可以编辑/更改他们的邮件偏好(每周、每天等(。因此,当他们这样做时,cron表达式会从后端更新以匹配他们的偏好。

然而,之前的偏好仍然被触发,我认为我们必须摧毁之前的工作。怎么做?

这是解决我问题的正确方法吗?或者我需要将他们的偏好存储在数据库中,并根据日期手动触发邮件吗?

这就是使用node-cron:的方法

const cron = require('node-cron');
const task = cron.schedule('* * * * *', () =>  {
console.log('stopped task');
}, {
scheduled: true
});
task.start();
task.stop();
task.getStatus(); // get you the status, so for every user check it and then restart it.
task.destroy();  // it will kill the job 

它不提供任何ID,但您可以检查processID并将其存储在任何位置。

您可以在此处查看文档。

相关内容

最新更新