【问题标题】:This is a cron-job in node.js这是 node.js 中的一个 cron 作业
【发布时间】:2021-11-30 09:12:37
【问题描述】:

我正在尝试制作一个 24 小时后运行功能的 cron 作业,但如果是星期五,则计时器应在 23:59 停止并在星期日 23:59 重新启动。我该怎么做?

想象一个正在创建的请求。创建它时,必须调用电子邮件功能。如果在 24 小时内没有收到对上述电子邮件的回复,则应再次调用电子邮件功能,并重新启动 24 小时计时器以第三次重复此过程。但是如果是星期六并且计时器正在运行,它应该停止然后在星期一重新启动。 (这是为了表示从星期六或星期日开始的时间没有在计时器中消耗)。

【问题讨论】:

  • 最简单的方法?如果星期几是星期六或星期日,则使您的函数立即返回。 J
  • Checkout npmjs.com/package/node-cron 您可以将您的函数包装在回调中,或者即使您希望将您的 cron 功能放在不同的文件中,您也可以将其作为 cron 调度的回调,然后通过捕获进程错误甚至 fork 进程 on('exit') 你可以发出进程结束的信号并记录你需要的任何内容作为成功。
  • 感谢各位开发者的帮助。 @O。 Jones 这看起来很简单,但该功能也应该在周日 23:59 重新启动。

标签: node.js reactjs cron scheduled-tasks


【解决方案1】:

某些 cron 模式允许您指定日期范围(例如,59 23 * * 1-5 仅在周一至周五运行)。

对于更复杂的逻辑,将 cron 设置为每天运行 + 检查应用程序中的星期几可能会更简单,就像 O. Jones 评论的那样。

就个人而言,我倾向于后者,这样您就可以在 cron 运行和跳过时进行记录,因为这是一个周末,因此您有一个记录,如果出现问题或您需要调试某些东西。

【讨论】:

  • 感谢您的帮助。这是从周一到周五每天 23:59 运行该功能,对吗?我需要它用于特定情况。想象一下正在创建一个请求。创建它时,必须调用电子邮件函数。如果在 24 小时内没有收到对上述电子邮件的回复,则应再次调用电子邮件功能,并重新启动 24 小时计时器以第三次重复此过程。但是如果是星期六并且计时器正在运行,它应该停止然后在星期一重新启动。 (这是为了表示计时器中没有消耗周六或周日的时间)。
猜你喜欢
  • 1970-01-01
  • 2022-09-23
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
相关资源
最近更新 更多