目前我正在解决工程问题,并希望向SO社区开放对话。
我想实现一个任务调度程序。我有一个nodeJS应用程序的两个独立实例,它们位于弹性负载平衡器(ELB)后面。问题是当两个实例都出现时,它们会尝试执行相同的任务逻辑,导致任务运行多次。
我目前的解决方案是使用node-schedule来安排要运行的任务,然后让它们引用数据库以检查任务是否已经运行,因为它是指定的运行时间间隔。
这里的逻辑有点混乱,我想知道是否有更优雅的方式来做这件事。
也许可以在特定实例上设置特定的env变量 - 这样只有该实例才能运行任务。
你们都在想什么?
答案 0 :(得分:0)
您所描述的内容似乎是AWS Simple Queue Service用例的完美示例。
https://aws.amazon.com/sqs/details/
在您的解决方案中需要注意的关键点:
这是一项出色的服务,应该很好地解决您当前的需求。
谢谢!
济。