Posts Learn Components Snippets Categories Tags Tools About

Setting up Laravel Queue worker on Heroku

Learn how to set up a Laravel queue worker on Heroku to allow your long process task to run in the background.

2 years ago

4 mins read


Setting up Laravel Queue worker on Heroku is quite straightforward. All you have to do is define the queue configuration on the Procfile that’s located in the root level of the project directory as well as spin up a new Heroku dyno instance.

To define the queue, you have to name the queue first (which can be anything that you want, for this example "sqs") `sqs: php artisan queue:work --timeout=1800` and then continue to chain it with the `php artisan queue:work` command to ensure it's running.

You can also pass any of the flags that are provided by the `queue:work` command depending on your needs. The next step that you have to do is to deploy the Laravel application to Heroku so that your online application gets updated.

Next, you have to run `heroku ps:scale web=1 sqs=1 --app your-heroku-app` from your command line, and this will ensure that your Laravel application has another dyno called `sqs`. Once you have done that, Heroku will be able to process your Laravel queues.

Final Code

# procfile
sqs: php artisan queue:work --timeout=1800

# terminal
heroku ps:scale web=1 sqs=1 --app your-heroku-app

Alternative Tags

If you like our tutorial, do make sure to support us by being our Patreon or buy us some coffee ☕️

Load comments for Setting up Laravel Queue worker on Heroku