I'm using RQ, and I have a failed
queue with thousands of items, and another test
queue I created a while back for testing which is now empty and unused. I'm wondering how to remove all jobs from the failed
queue, and delete the test
queue altogether?
Apologies for the basic question, but I can't find info on this in the RQ docs, and I'm completely new to both Redis and RQ... Thanks in advance!
none of the above solutions worked failed Queue is not registered under queues
so I move all of the failed jobs to default Queue and use
Monitoring tool
rqinfo
can empty failed queue.Just make sure you have an active virtualenv with
rq
installed, and run$ rqinfo --empty-failed-queue
See
rqinfo --help
for more details.you can just login to redis and clear all queues
to login
enter this command and hit enter
And you're done
Cleanup using rq
RQ offers methods to make any queue empty:
You can do the same for
test
queue, if you have it still present.Cleanup using
rq-dashboard
Install rq-dashboard:
Start it:
Open in browser.
Select the queue
Click the red button "Empty"
And you are done.
Python function Purge jobs
If you run too old Redis, which fails on command used by RQ, you still might sucess with deleting jobs by python code:
The code takes a name of a queue, where are job ids.
Usilg LPOP we ask for job ids by one.
Adding prefix (by default "rq:job:") to job id we have a key, where is job stored.
Using DEL on each key we purge our database job by job.
By default 'rq' jobs are prefixed by 'rq:job'. So you can delete these jobs from the redis using following command,
- 2016 -
You can now use rq's
empty
option form command line:So you can use it to empty any queue not just the failed one