安裝Supervisorphp
Supervisor是Linux系統中經常使用的進程守護程序。若是隊列進程queue:work
意外關閉,它會自動重啓啓動隊列進程。在Ubuntu安裝Supervisor 很是簡單:html
sudo apt-get install supervisor
注:若是本身配置Supervisor有困難,能夠考慮使用Laravel Forge,它會爲Laravel項目自動安裝並配置Supervisor。laravel
配置Supervisorapp
Supervisor配置文件一般存放在/etc/supervisor/conf.d
目錄,在該目錄中,能夠建立多個配置文件指示Supervisor如何監視進程,例如,讓咱們建立一個開啓並監視queue:work
進程的laravel-worker.conf
文件:post
[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配置並開啓進程:rest
啓動Supervisorcode
當你成功建立配置文件後,你須要刷新Supervisor 的配置信息:htm
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:*
你能夠經過Supervisor官方文檔獲的更多信息 Supervisor文檔.隊列