安裝Supervisor
Supervisor是Linux系統中常用的進程守護程序。如果隊列進程queue:work
意外關閉,它會自動重啟啟動隊列進程。在Ubuntu安裝Supervisor 非常簡單:
sudo apt-get install supervisor
注:如果自己配置Supervisor有困難,可以考慮使用Laravel Forge,它會為Laravel項目自動安裝並配置Supervisor。
配置Supervisor
Supervisor配置文件通常存放在/etc/supervisor/conf.d
目錄,在該目錄中,可以創建多個配置文件指示Supervisor如何監視進程,例如,讓我們創建一個開啟並監視queue:work
進程的laravel-worker.conf
文件:
[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3 autostart=true autorestart=true user=forge numprocs=8 redirect_stderr=true stdout_logfile=/home/forge/app.com/worker.log
在本例中,numprocs
指令讓Supervisor運行8個queue:work
進程並監視它們,如果失敗的話自動重啟。配置文件創建好了之后,可以使用如下命令更新Supervisor配置並開啟進程:
啟動Supervisor
當你成功創建配置文件后,你需要刷新Supervisor 的配置信息:
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:*
你可以通過Supervisor官方文檔獲的更多信息 Supervisor文檔.