python 清空队列_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

安装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,我们要求提供一个工作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

2020-06-20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值