1

我正在谈论的代码是下面链接的复制代码


我在代码中有 2 个“状态”(它们都在监听队列全局事件):

  1. 添加一条消息
  2. 收听消息

出于某种原因,只有在工作人员备份时才终止侦听器工作人员时,Bull 作业不会报告为停止。

尽管它应该如文档中所述:

.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.
});

来自事件处理程序中的Bull 事件引用.on('stallled', ...)

GitHub Repro(它包含docker-compose所有设置并附有解释)


编辑:

bulmq上测试并且它有效

4

1 回答 1

0

恐怕这是按设计工作的,因为在 Bull 中,工人还负责检测停滞的工作,而在 BullMQ 中,您有 QueueScheduler 来处理这个问题。

来自牛市回购 - 第 2141 期

于 2021-10-25T14:58:21.783 回答