【问题标题】:node cron jobs on heroku, is using the heroku scheduler necessary?heroku 上的节点 cron 作业,是否需要使用 heroku 调度程序?
【发布时间】:2019-08-05 08:20:39
【问题描述】:

我正在将我的应用后端构建为要部署在 Heroku 上的节点/express API。

我是实施“cron 作业”的新手,我发现名为 node-cron 的 npm 库看起来非常简单。

是否就像在我的应用运行时代码中设置 cron 作业一样简单?我知道当 heroku 免费测功机进入“睡眠模式”时它不会运行(基于其他 StackOverflow 答案),但我计划在生产中使用付费测功机,所以这不是问题。

我主要担心的是,当我在 heroku 上“放大”并运行多个测功机时,这会导致奇怪的交互吗?我的应用程序在单独的测功机上的每个“实例”是否会尝试独立运行自己的 cron,从而导致工作重复?

我知道 heroku 为此提供了一个免费的“调度程序”插件来启动 dynos 来执行此操作,但如果上述情况不会发生,那么调度程序 heroku 插件在我的情况下似乎是不需要的开销。

注意:我的 cron 将非常简单,只是对旧记录进行一些数据库清理,我不想在数据库层这样做以使事情变得更简单,因为在 postgres 中安排作业似乎并不容易。

我们将不胜感激任何见解。谢谢。

【问题讨论】:

    标签: node.js heroku cron


    【解决方案1】:

    正如你上面提到的,根据我过去在相同情况下的经验,所有事情都是正确的。

    1. npm 包 node-cron 只有在你只有一个测功机时才能正常工作 否则它将根据许多测功机触发。
    2. 如果你想完美地执行 cron 而不冒任何风险(不管你有多少 dyno),我建议你使用 heroku 插件。

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 2019-04-24
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多