Dọn dẹp bằng rq
RQ cung cấp các phương pháp để làm cho bất kỳ hàng đợi nào trống:
>>> from redis import Redis
>>> from rq import Queue
>>> qfail = Queue("failed", connection=Redis())
>>> qfail.count
8
>>> qfail.empty()
8L
>>> qfail.count
0
Bạn có thể làm tương tự đối với test
xếp hàng, nếu bạn vẫn còn nó.
Dọn dẹp bằng rq-dashboard
Cài đặt rq-dashboard:
$ pip install rq-dashboard
Bắt đầu nó:
$ rq-dashboard
RQ Dashboard, version 0.3.4
* Running on http://0.0.0.0:9181/
Mở trong trình duyệt.
Chọn hàng đợi
Nhấp vào nút màu đỏ "Rỗng"
Và bạn đã hoàn thành.
Chức năng Python Thanh lọc các công việc
Nếu bạn chạy Redis quá cũ, không thành công với lệnh được sử dụng bởi RQ, bạn vẫn có thể thành công với việc xóa các đoạn bằng mã python:
Mã lấy tên của một hàng đợi, ở đó là id công việc.
Usilg LPOP chúng tôi yêu cầu từng id công việc.
Thêm tiền tố (theo mặc định "rq:job:") vào id công việc, chúng ta có một khóa, nơi lưu trữ công việc.
Sử dụng DEL trên mỗi khóa, chúng tôi xóa công việc cơ sở dữ liệu của mình theo từng công việc.
>>> 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