Laravel中使用supervisor

jsoner發表於2021-05-20

1 Superviosr 安裝

sudo pip install supervisor

2 Supervisor 配置

// 執行這個命令可以生成一個預設的配置檔案
echo_supervisord_conf > /etc/supervisord.conf

// 生成成功後,開啟編輯這個檔案,把最後的 include 塊的註釋開啟,並修改如下:
[include]
files = /etc/supervisor/*.conf

新增的 Supervisor 配置檔案放在 /etc/supervisor 目錄下,並且以 conf 結尾。
這時我們使用新的配置檔案來啟動 Supervisor
supervisord  -c /etc/supervisord.conf
如果提示已經有程式在執行,那麼先 kill 掉它。

3 使用Supervisor 管理Laravel佇列程式

首先在/etc/supervisor 目錄下新增一個Supervisor 的配置檔案, 如下:

[program:project_horizon]
process_name=%(program_name)s
autostart=true
autorestart=true
redirect_stderr=true
command=/user/local/php/bin/php /home/wwwroot/project/artisan horizon
stdout_logfile=/home/wwwlogs/supervisord/project_horizon.log

可以看到 Laravel 佇列開始正常執行了,這裡值得注意的是,如果 Laravel 處理佇列的程式碼更改了,需要重啟 Supervisor 的佇列管理才能生效

sudo /usr/bin/supervisorctl status
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章