Laravel delete queued jobs using redis horizon artisan command

The question is how to delete all jobs which are queued in Laravel when you are using redis as the Queue driver.

To do this there are some options:

Using the laravel-queue-clear package which is developed by Craig Morris that provides a useful tool to delete all kinds of queued jobs by an artisan command. This package is comprehensive and is not only for redis.

For wiping your queues clear you need to run this:

php artisan queue:clear [connection] [queue]

where [connection] is :

the name of a connection in your config/queue.php

and [queue] is:

the name of the queue / pipe you want to clear

In the terminal you can use this command :


Which comes from here this link.

$ redis-cli> FLUSHDB
OK> exit

Then the result in is as follow and all the queued jobs will be cleared out easily:

use redis in a controller like:

use Redis;

And then in an action put this:


And then trigger that action through a route::get();

Make an artisan command by:

php artisan make:command FlushRedis --command=flush:redis

Then register it in the Kernel.php file in app/Console as follows:

Then in the handle() method of the FlushRedis.php file put this:


At the end, run the command:

php artisan flush:redis

It’s done! All the queued jobs will be wiped out.

Thanks to @edilsoncichon for hist nice comment and introducing this option.

In the terminal you can use this command :

php artisan tinker;

Then do this:

>>> use Redis;
>>> Redis :: command (‘flushdb’);

So no code writing is needed! ;)


Remind that Laravel out of the box has an artisan command to delete all of your failed jobs :

php artisan queue:flush

Thank you for reading! If you enjoyed this article:

Clap it ! Share it! Follow Me in Medium!

Also I’d like to hear your opinion on this article. If you have any doubt, question or suggestion please leave a comment below.

Have a very wonderful day!

Posting daily about Python, Laravel