Redis
 sql >> Baza danych >  >> NoSQL >> Redis

RQ — Opróżnij i usuń kolejki

Oczyszczanie za pomocą rq

RQ oferuje metody opróżniania dowolnej kolejki:

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

Możesz zrobić to samo dla test w kolejce, jeśli nadal ją masz.

Wyczyść za pomocą rq-dashboard

Zainstaluj rq-dashboard:

$ pip install rq-dashboard

Zacznij:

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

Otwórz w przeglądarce.

Wybierz kolejkę

Kliknij czerwony przycisk „Opróżnij”

I gotowe.

Funkcja Pythona Usuń zadania

Jeśli uruchomisz zbyt starego Redisa, który nie powiedzie się w poleceniu używanym przez RQ, nadal możesz odnieść sukces, usuwając zadania za pomocą kodu Pythona:

Kod przyjmuje nazwę kolejki, w której znajdują się identyfikatory zadań.

Usilg LPOP prosimy o identyfikatory zadań o jeden.

Dodając prefiks (domyślnie "rq:job:") do id zadania mamy klucz, gdzie jest przechowywane zadanie.

Używając DEL na każdym klawiszu, czyścimy naszą bazę danych według zadania.

>>> 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. Używając MongoDB jako naszej głównej bazy danych, czy powinienem używać oddzielnej bazy danych wykresów do implementacji relacji między jednostkami?

  2. Jak mogę przekonwertować bajty na cały ciąg szesnastkowy?

  3. Wydajność SCAN vs KEYS w Redis

  4. Sidekiq nie znajduje rekordów dla Rails Active Job

  5. Blokowanie i Redis