我正在使用出色的 NodeJS Agenda 任务调度程序 ( https://github.com/agenda/agenda ) 在我的 Node/Express 应用程序中安排后台作业。
议程也可以在节点集群配置中运行,但是我遇到了一个问题(也许我忽略了一些东西,因为这看起来很基本)。
所以我使用了自述文件(https://github.com/agenda/agenda#spawning--forking-processes)中的代码示例来建立一个有 N 个工作人员的集群,每个工作人员(节点集群进程)都有一个议程实例。
现在假设我有 2 个工作人员(进程)并且我从工作人员 1 调用“agenda.now()”,那么这两个工作人员中的任何一个都可以拾取(处理)它,因为他们都在监视队列,对吗?
然而,我总是看到第一个工人接手工作,其他人没有接手工作。
我在看什么?所有的工人都应该监控队列,所以他们都应该接手工作。