如何解决定期在 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 并将其存储在任何地方。
您可以在此处check获取文档。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。