使用rq清理
RQ提供使任何队列为空的方法:
>>> from redis import Redis
>>> from rq import Queue
>>> qfail = Queue("failed", connection=Redis())
>>> qfail.count
8
>>> qfail.empty()
8L
>>> qfail.count
0
你可以做同样的测试队列,如果你仍然存在.
使用rq仪表板进行清理
安装rq-dashboard:
$pip install rq-dashboard
开始吧
$rq-dashboard
RQ Dashboard, version 0.3.4
* Running on http://0.0.0.0:9181/
在浏览器中打开.
选择队列
点击红色按钮“空”
你完成了
Python功能清除作业
如果您运行的旧的Redis(由RQ使用的命令失败),您仍然可以删除
python代码作业:
代码采用队列的名称,其中的作业ID在哪里.
Usilg LPOP我们要求工作ids一个.
将前缀(默认为“rq:job:”)添加到作业ID中,我们有一个键,存储在哪里.
在每个键上使用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