You've successfully deployed your Laravel App on Heroku. Next you figure out you can't start your queue workers like you normally would on your traditional apache/nginx servers. You try all the available commands but they all don't seem to work.
Here's how to set up a Laravel queue worker on Heroku to allow your long process task to run in the background.
All you have to do is enter a configuration for 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 "worker")
worker: php artisan queue:listen
and then proceed 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
command depending on your needs.
Assuming your Laravel app has already been deployed, your next move is to run
heroku ps:scale web=1 worker=1 --app your-heroku-app
from your command line, and this will ensure that your Laravel application has another dyno called
worker. Once you have done that, Heroku will be able to process your Laravel queues.