Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

RQ - Kosongkan &Hapus Antrian

Bersihkan menggunakan rq

RQ menawarkan metode untuk mengosongkan antrean:

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

Anda dapat melakukan hal yang sama untuk test antrian, jika Anda masih memilikinya.

Bersihkan menggunakan rq-dashboard

Instal rq-dasbor:

$ pip install rq-dashboard

Mulai:

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

Buka di browser.

Pilih antrian

Klik tombol merah "Kosong"

Dan Anda selesai.

Fungsi Python Membersihkan tugas

Jika Anda menjalankan Redis terlalu lama, yang gagal pada perintah yang digunakan oleh RQ, Anda mungkin masih berhasil menghapus pekerjaan dengan kode python:

Kode mengambil nama antrian, di mana id pekerjaan.

Gunakan LPOP kami meminta id pekerjaan satu per satu.

Menambahkan awalan (secara default "rq:job:") ke id pekerjaan, kami memiliki kunci, di mana pekerjaan disimpan.

Menggunakan DEL pada setiap kunci, kami membersihkan tugas database kami dengan tugas.

>>> 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. bagaimana saya bisa membuat sesi bekerja menggunakan redis, express &socket.io?

  2. Implementasi pub/sub di nodeJS

  3. Redis / Node.js - 2 klien (1 pub/sub) menyebabkan masalah dengan penulisan

  4. Redis Banyak Pelanggan

  5. Kesalahan bidang pada objek 'target' pada bidang '':nilai ditolak []; kode [typeMismatch.target.,typeMismatch.,typeMismatch.java.util.Date,typeMismatch]