我正在使用 RQ ,我有一个 failed
队列,其中包含数千个项目,另一个 test
队列我创建了一段时间用于测试,现在是空的和未使用的。我想知道如何从 failed
队列中删除所有作业,并删除 test
队列?
对这个基本问题表示歉意,但我在 RQ 文档 中找不到这方面的信息,而且我对 Redis 和 RQ 都是全新的……提前致谢!
原文由 Cian 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答915 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
使用 rq 清理
RQ 提供了使任何队列为空的方法:
您可以对
test
队列执行相同的操作,如果它仍然存在的话。清理使用
rq-dashboard
安装 rq-仪表板:
启动它:
在浏览器中打开。
选择队列
单击红色按钮“清空”
你完成了。
Python 函数清除作业
如果你运行的 Redis 太旧,它在 RQ 使用的命令上失败,你仍然可以通过 python 代码成功删除作业:
该代码采用队列名称,其中是作业 ID。
使用 LPOP 我们要求一个工作 ID。
将前缀(默认情况下为“rq:job:”)添加到作业 ID 我们有一个键,作业存储在哪里。
在每个键上使用 DEL,我们逐个作业地清除数据库作业。