Home » Php » php – Run Laravel Horizon as a background service

php – Run Laravel Horizon as a background service

Posted by: admin July 12, 2020 Leave a comment

Questions:

My question is what is the best and simple way to run the Laravel Horizon based job workers?

My Tech Stack

  • Laravel 5.5
  • Horizon
  • Redis Queues
  • Centos

I have gone through the document https://laravel.com/docs/5.5/horizon

How to setup following supervisor as mentioned on the link above
Supervisor Configuration

[program:horizon]
process_name=%(program_name)s
command=php /home/forge/app.com/artisan horizon
autostart=true
autorestart=true
user=forge
redirect_stderr=true
stdout_logfile=/home/forge/app.com/horizon.log

Note: I have my own custom build server with php 7.1 and I later installed Horizon to run my Jobs and maintain the queues.

Any suggestion regarding how to run the Workers or where should I configure above Supervisor Configuration?

How to&Answers:

Make sure you have supervisor installed:

For debian/ubuntu:

apt install supervisor

centos:

easy_install supervisor

or

yum install supervisor

You can also do:

systemctl enable supervisord

To make sure supervisor runs at startup


Now create a new file in /etc/supervisor/conf.d/ named horizon.conf and add the above configuration.

Now do:

sudo supervisorctl reread

To reread the configs

sudo supervisorctl update

To reload the configs and restart the process

sudo supervisorctl start all

or

sudo supervisorctl start horizon

To start horizon