sql >> Databáze >  >> NoSQL >> Redis

RQ - Empty &Delete Queues

Vyčištění pomocí rq

RQ nabízí metody, jak vyprázdnit libovolnou frontu:

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

Totéž můžete udělat pro test fronta, pokud ji stále máte.

Vyčištění pomocí rq-dashboard

Nainstalujte rq-dashboard:

$ pip install rq-dashboard

Spusťte to:

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

Otevřít v prohlížeči.

Vyberte frontu

Klikněte na červené tlačítko "Vyprázdnit"

A máte hotovo.

Funkce Python Čištění úloh

Pokud spustíte příliš starý Redis, který selže na příkaz používaný RQ, stále můžete uspět s odstraněním úloh pomocí kódu pythonu:

Kód má název fronty, kde jsou ID úloh.

Pomocí LPOP žádáme o ID práce po jednom.

Přidáním předpony (ve výchozím nastavení "rq:job:") k ID úlohy máme klíč, kde je úloha uložena.

Pomocí DEL na každém klíči vyčistíme naši databázovou úlohu po úloze.

>>> 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. Průnik dvou nebo více seřazených množin

  2. Co je InputSplit v Hadoop MapReduce?

  3. Pokud použijeme MongoDB jako naši hlavní databázi, mám k implementaci vztahů mezi entitami použít samostatnou grafovou databázi?

  4. Synchronizace dat klastrů HBase pomocí nástroje HashTable/SyncTable