1、切換位root使用者,然後安裝supervisor
# yum install epel-release
# yum install -y supervisor
2、建立配置檔案:在/etc/supervisord.d/
目錄下輸入vim laravel-horizon.conf
建立配置檔案laravel-horizon.conf
:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /www/server/php/81/etc/php-cli.ini artisan horizon sqs --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log
stopwaitsecs=3600
注意!!!
1、因為我安裝了laravel\horizon
用於視覺化佇列,所以沒有用queue
命令
2、centos
的supervisord配置檔案*.conf
放在/etc/supervisord.d/
下,Ubuntu
的是/etc/supervisor/conf.d
不一樣
3、確保stopwaitsecs
的值大於執行時間最長的作業所消耗的秒數。否則,Supervisor 可能會在作業完成處理之前將其終止。
然後執行以下命令,就可以安心關閉SSH了
# systemctl enable supervisord # 開機自啟動
# systemctl start supervisord # 啟動supervisord服務
# systemctl status supervisord # 檢視supervisord服務狀態
# ps -ef|grep supervisord # 檢視是否存在supervisord程式
備註:
配置檔案裡的/www/server/php/81/etc/php-cli.ini artisan horizon
就是你想要常駐執行的命令路徑,如果你不知道完整路徑是什麼,你可以先執行php artisan xxx
然後ctrl+z
,然後再輸入jobs
就能看到完整路徑了,複製到conf
檔案裡就可以了
本作品採用《CC 協議》,轉載必須註明作者和本文連結