我说的代码是下面链接的repro代码
我有2个"状态"在代码中(它们都在侦听队列全局事件):
- 添加一条消息
- 监听消息
由于某些原因,当侦听器工作线程被终止时,只有当该工作线程备份时,Bull job才会报告为stopped。
尽管它应该在文档中声明:
.on('stalled', function (job) { // A job has been marked as stalled. This is useful for debugging job // workers that crash or pause the event loop. });
摘自
.on('stallled', ...)
事件处理程序中的Bull事件引用
GitHub Repro(它包含docker-compose
和所有设置与解释)
编辑:
在bullmq上测试,它工作
恐怕这是按照设计工作的,因为在Bull中工人也负责检测停止的工作,而在BullMQ中,您有queuesscheduler负责此。
摘自Bull Repo - Issue 2141