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/
ब्राउज़र में खोलें।
कतार चुनें
लाल बटन "खाली" क्लिक करें
और आपका काम हो गया।
पायथन फंक्शन पर्ज जॉब्स
यदि आप बहुत पुरानी रेडिस चलाते हैं, जो आरक्यू द्वारा उपयोग की जाने वाली कमांड पर विफल हो जाती है, तो भी आप पाइथन कोड द्वारा नौकरियों को हटाने में सफल हो सकते हैं:
कोड एक कतार का नाम लेता है, जहां जॉब आईडी हैं।
Usilg LPOP हम एक-एक करके जॉब आईडी मांगते हैं।
जॉब आईडी में उपसर्ग (डिफ़ॉल्ट रूप से "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