Deleting queued jobs in laravel

Restart Beanstalk. On Ubuntu:

sudo service beanstalkd restart

I am using Redis instead of Beanstalkd but this should be the same in both. Restarting Redis doesn't solve the problem. I looked at RedisQueues in the Laravel 4.2 API Docs and found:

public Job|null pop(string $queue = null)
  //Pop the next job off of the queue.

This is the same if you look at BeanstalkedQueue.

I threw it in app/routes.php inside dd*, loaded that page and voila.

Route::get('/', function() {
  dd(Queue::pop());
  #return View::make('hello');
});

NOTE: Reload the page once per queue.

The queue was pulled off the stack. I would like to see a cleaner solution but this worked for me more than once.

*dd($var) = Laravel's die and dump function = die(var_dump($var))

Edit 1: For Redis

The above obviously isn't the best solution so here is a better way. Be careful!

FLUSHDB - Delete all the keys of the currently selected DB. This command never fails.

For Redis use FLUSHDB. This will flush the Redis database not Laravel's database. In the terminal:

$ redis-cli
127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379> exit

I made an artisan command which will clear all the jobs in your queue. You can optionally specify the connection and/or the pipe.

https://github.com/morrislaptop/laravel-queue-clear