javascript - nodejs中的工作流自动化
问题描述
任何人都可以请教我如何在节点 js 项目中使用工作流。我从未使用过批准/拒绝之类的工作流程。在特定期限内发送电子邮件。我不知道开始的方法。
我的要求是在第二天发送批准/拒绝电子邮件。如果主管没有回复,则在第 5 天再次发送电子邮件给主管。第 5 天后,它将自动获得批准。
还有其他工作流程。我想一旦我有了这个想法,我就会让它发挥作用。如果有人可以指导我,我真的很感激。
我们是否必须在临时表中维护数据或在列中维护标志?
问候见面
解决方案
您可以node-cron
用于计划和nodemailer
电子邮件传输。例如:
let cron = require('node-cron');
let nodemailer = require('nodemailer');
// e-mail message options
let mailOptions = {
from: '<FROM_EMAIL_ADDRESS>',
to: '<TO_EMAIL_ADDRESS>',
subject: 'Email from Node-App: A Test Message!',
text: 'Some content to send'
};
// e-mail transport configuration
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '<FROM_EMAIL_ADDRESS>',
pass: '<FROM_EMAIL_PASSWORD>'
}
});
cron.schedule('* * * * *', () => {
// Send e-mail
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
});
推荐阅读
- bash - 如何从 bash 脚本打开所有 Konsole 选项卡的主目录?
- elasticsearch - 当前进程使用k8s端口转发
- c# - C# 索引 - 我可以返回整个类吗?
- debugging - 这些十六进制值在此字体二进制文件中的含义
- scala - Akka 监督默认行为
- laravel - 如何在前端实现中使用“Laravel Voyager 管理页面或帖子中的特定设置块”?
- typescript - 如何使用 awesome-typescript-loader 和 babel 来转译特定的节点模块?
- bash - How to loop through each line of a file, name the file after the third field, and then take the contents of each line and put it in the file
- git - “弧形移植”和“弧形贴片”有什么区别?
- python - 将列表列表转换为字典