问题描述
我开始在 Bull 中使用可重复的工作,一切似乎对我来说都运行良好。但是,我注意到每次迭代都会在 Redis 中留下一份工作:
- "test:foo:repeat:7a140b0cf5b3ee29cb164b7c9cc03bc3:1619132310000"
- "test:foo:repeat:7a140b0cf5b3ee29cb164b7c9cc03bc3:1619132280000"
- "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