Redis
 sql >> база данни >  >> NoSQL >> Redis

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-табло:

$ pip install rq-dashboard

Започнете:

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

Отворете в браузъра.

Изберете опашката

Щракнете върху червения бутон „Изпразване“

И сте готови.

Функция на Python Изчистване на задания

Ако стартирате твърде стар Redis, който се провали при команда, използвана от RQ, все пак може да успеете с изтриване на задания чрез код на python:

Кодът приема име на опашка, където са идентификаторите на задания.

Използвайки 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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Внедряване на референтни набори в Redis

  2. Как да премахнете отстраняването на грешки от Express приложение?

  3. Docker&Celery - ГРЕШКА:Pidfile (celerybeat.pid) вече съществува

  4. Грешка в Redigo ScanStruct с time.Time

  5. как да изтече ключът на карта в REDIS?