Redis 中剩下的公牛可重复工作

问题描述

我开始在 Bull 中使用可重复的工作,一切似乎对我来说都运行良好。但是,我注意到每次迭代都会在 Redis 中留下一份工作:

  1. "test:foo:repeat:7a140b0cf5b3ee29cb164b7c9cc03bc3:1619132310000"
  2. "test:foo:repeat:7a140b0cf5b3ee29cb164b7c9cc03bc3:1619132280000"
  3. "test:foo:repeat:7a140b0cf5b3ee29cb164b7c9cc03bc3:1619132360000"

而且这个列表还在不断增加。我试图在 process 函数中做一个 job.remove(),但它抛出了一个错误......我猜无法删除可重复的作业。我假设这些最终会被 Redis 清理干净,但我可以采取哪些更主动的措施来保持 Redis 的清洁?

解决方法

需要将 'removeOnComplete' 值添加到 jobOptions。

,

您还可以通过

清理已完成的作业
queue.clean(0,'completed');

参考https://github.com/OptimalBits/bull/issues/709#issuecomment-344561983