关于node.js:node-cron模块和Heroku Scheduler之间的区别

Difference between node-cron module and Heroku Scheduler

我在Heroku上运行了一个节点应用程序。
我希望某些作业每隔几秒钟定期运行一次,以便将数据从外部MySQL数据库获取到我的MongoDB。
经过广泛的搜索,我发现了很多实现此目的的方法。

我的问题是我无法完全理解cron-module和Heroku Scheduler之间的区别以及优缺点。

我发现了一些差异:
如果我使用Heroku Scheduler,则至少要限制10分钟。
如果使用node-cron模块,则将在主index.js文件中运行它,并且如果需要的话,它将每隔几秒钟运行一次。

但是运行多个测功机时,这两种方法会受到什么影响?
在这种情况下,脚本将重复运行多次?


node-cron将在您当前正在运行的应用程序实例中指定的时间运行该功能。您可以更加精确地安排这些时间。

Heroku Scheduler将启动一个新的dyno并运行该功能。功能完成后,测功机将旋转(即关闭)。您可能会以较低的精度安排这些时间。

如果您使用多个测功机:

  • Heroku Scheduler将不会运行重复的命令。
  • node-cron将在被调用的每个实例上运行(可能每个实例),因此将运行并发(重复)函数。