【问题标题】:Node Cron job for emails电子邮件的节点 Cron 作业
【发布时间】:2018-07-24 14:34:43
【问题描述】:

我正在构建我的第一个 Node + Express 应用 (MEAN),需要实现自动电子邮件发送功能。用户可以创建提醒,然后邮件程序将在特定日期发送。

我正在考虑使用默认的Nodemailer + Node Schedule 并且想知道当服务器离线时如何管理它。用户 Rodrigo Mata 建议使用一些软件包,但我可以这样做:

  1. 服务器启动时,获取所有提醒并在需要时注册 cron 作业;
  2. 如果用户添加了新的提醒,注册新的 cron 作业;

但是有一个问题 - 我应该如何知道服务器何时下线?我应该如何只注册一次所有 cron 作业(在服务器上线后?)

我创建了一个获取所有提醒的文件,并基于一个属性 (delivered: boolean) 注册了一个 cron 作业,因此我将为每个新会话执行此操作(当任何用户访问该页面时。

附言这样一个“简单”的任务似乎相当棘手……

【问题讨论】:

    标签: node.js angular nodemailer cron-task


    【解决方案1】:

    那些库并没有实现真正的 cron 作业,它们的行为是这样的,但在幕后它们是间隔。换句话说,你需要让你的应用程序正常工作,所以我建议你使用像pm2forever这样的包管理器来初始化它。

    【讨论】:

    • 感谢您的回答。如果您能提供更多关于这些软件包如何工作的信息,那就太好了(我会在回购达到 15 分时投票)
    • 基本上,如果您配置该行为,它们会保持您的应用程序运行并在它以某种方式崩溃时重新启动它。此外,它们还嵌入了监控工具,您可以使用这些工具来提高应用性能。
    • 所以他们必须在他们自己的服务器上运行我的应用程序,对吧?而且它是免费的...?我的头无法咀嚼,抱歉 :D 但是谢谢
    • 是的,两者都是免费的。例如,您使用node myapp.js 运行应用程序,因此您可以运行pm2 myapp.js 之类的应用程序,只需按照安装步骤操作即可。
    猜你喜欢
    • 1970-01-01
    • 2011-04-26
    • 2018-06-18
    • 2017-06-06
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 2018-08-20
    • 2012-11-15
    相关资源
    最近更新 更多