您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

RQ-清空和删除队列

RQ-清空和删除队列

RQ提供了使任何队列为空的方法

>>> from redis import Redis
>>> from rq import Queue
>>> qfail = Queue("Failed", connection=Redis())
>>> qfail.count
8
>>> qfail.empty()
8L
>>> qfail.count
0

test如果仍然存在,也可以对队列执行相同的操作。

安装rq-dashboard:

$ pip install rq-dashboard

启动它:

$ rq-dashboard
RQ Dashboard, version 0.3.4
 * Running on http://0.0.0.0:9181/

在浏览器中打开。

选择队列

点击红色按钮“空”

您完成了。

如果您运行的Redis太旧,在RQ使用的命令上失败,那么您仍然可能会通过python代码删除作业而成功:

代码采用队列的名称,其中是作业ID。

Usilg LPOP,我们要求提供一个工作ID。

在作业ID上添加前缀(认情况下为“ rq:job:”),我们有一个密钥,存储作业。

在每个键上使用DEL可以逐项清除数据库作业。

>>> import redis
>>> r = redis.StrictRedis()
>>> qname = "rq:queue:Failed"
>>> def purgeq(r, qname):
... while True:
...     jid = r.lpop(qname)
...     if jid is None:
...         break
...     r.delete("rq:job:" + jid)
...     print jid
...
>>> purge(r, qname)
a0be3624-86c1-4dc4-bb2e-2043d2734b7b
3796c312-9b02-4a77-be89-249aa7325c25
ca65f2b8-044c-41b5-b5ac-cefd56699758
896f70a7-9a35-4f6b-b122-a08513022bc5
其他 2022/1/1 18:22:14 有379人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶