sql >> Database teknologi >  >> NoSQL >> Redis

RQ - Tøm og slet køer

Oprydning ved hjælp af rq

RQ tilbyder metoder til at gøre enhver kø tom:

>>> from redis import Redis
>>> from rq import Queue
>>> qfail = Queue("failed", connection=Redis())
>>> qfail.count
8
>>> qfail.empty()
8L
>>> qfail.count
0

Du kan gøre det samme for test kø, hvis du stadig har den til stede.

Oprydning ved hjælp af rq-dashboard

Installer rq-dashboard:

$ pip install rq-dashboard

Start det:

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

Åbn i browser.

Vælg køen

Klik på den røde knap "Tøm"

Og du er færdig.

Python-funktion Rens job

Hvis du kører for gammel Redis, som fejler på kommando brugt af RQ, kan du stadig få succes med at slette jobs med python-kode:

Koden tager et navn på en kø, hvor er job-id'er.

Ved brug af LPOP beder vi om job-id'er af én.

Ved at tilføje præfiks (som standard "rq:job:") til job-id har vi en nøgle, hvor jobbet er gemt.

Ved at bruge DEL på hver tast renser vi vores database job for job.

>>> 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. Få seneste MongoDB-rekord efter felt af dato og klokkeslæt

  2. GenericJackson2JsonRedisSerializer Ignorer klasse og attribut

  3. MongoDb:Fordelen ved at bruge ObjectID i forhold til en streng, der indeholder et Id?

  4. MongoDB på Android