Carl Sagan
Carl Sagan

Reputation: 982

Destroying / removing a Queue() in Redis Queue (rq) programmatically

Given:

from redis import Redis
from rq import Queue

yesterday = Queue('yesterday', connection=Redis())
today = Queue('today', connection=Redis())

I would like to programmatically delete the Queue named 'yesterday'

Upvotes: 2

Views: 2526

Answers (1)

peakxu
peakxu

Reputation: 6675

Try the following (you can validate all of this with redis-cli):

yesterday.empty()  # This will wipe out rq:queue:yesterday and all of its contents
del(yesterday)  # Deletes the variable itself
r = Redis()
r.srem('rq:queues', 'rq:queue:yesterday')  # Removed the entry from rq:queues set. The library unfortunately doesn't seem to clean this up by itself.

Upvotes: 4

Related Questions