看来使用 Bull 3.21.1 作为默认配置的工作队列会导致 Redis 在成功运行的情况下无限期地保留键,最终耗尽 Redis 中的内存并导致崩溃。这是一个示例体验,描述。我也有同样的经历。这是另一个,其中解释了虽然 Bull 的默认行为不能在不给现有用户造成破坏性更改的情况下实现无内存泄漏,但可以更好地记录默认行为将无限期保留已完成作业的 redis 密钥,以及配置是为了在 Redis 中获取操作而不泄漏内存。 公牛的文档在撰写此问题时,仍然没有提及此行为、配置点或解决方案。
由于 Bull 的无证默认行为永久保留已完成作业的 redis 密钥而导致生产(或者,更幸运的是,预生产)崩溃,我该如何恢复?