Bea*_*ian 3 cron backend amazon-web-services node.js convox
我的 nodeJS 服务器(React 应用程序的一部分)上有 cron 作业服务,我使用 Convox 部署到 AWS,它有 4 个负载均衡器服务器。这意味着我的 cron 作业在每台服务器上同时运行 4 次,而我只希望它运行一次。我怎样才能阻止这种情况发生并使我的 cron 作业只运行一次?据我所知,没有可靠的方法可以将我的 cron 锁定到特定实例,因为实例是不稳定的,可以根据需要删除/重新创建。
cron 作业服务执行诸如查询和更新我们的数据库、向用户发送电子邮件和文本以及执行外部 API 调用等任务。在服务器启动时(在 之后),服务使用cron npm 包运行server.listen。
你能通过 url 公开这些任务吗?这样,您就可以拥有一个外部 cron 服务,该服务通过针对 ELB 的 url 请求每个作业。
这种方法的另一个优点是,如果 url 未返回 200 状态,您将收到错误报告。这可以简化所有作业的错误跟踪。
此外,这提供了更好的冗余和负载平衡,而不是在单个实例中运行所有作业。
| 归档时间: |
|
| 查看次数: |
2971 次 |
| 最近记录: |