如果你使用的是 ssh 运行的队列进程,当 ssh 连接断开时,该进程会自动停止。
Supervisor 是 Linux 系统中常用的进程守护程序,如果队列进程 queue:work 意外关闭,它会自动重启启动队列进程。
Supervisor 参考配置
Laravel5
[program:queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /www/example.com/artisan queue:listen database --sleep=3 --tries=3
autostart=true
autorestart=true
user=www
numprocs=1
redirect_stderr=true
stdout_logfile=/tmp/worker.log
Laravel9
[program:queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /www/example.com/artisan queue:work database --sleep=3 --tries=3
autostart=true
autorestart=true
user=www
numprocs=1
redirect_stderr=true
stdout_logfile=/tmp/worker.log
command
表示执行的命令user
表示启动进程的用户numprocs
可以控制队列进程的数量,即同时执行的任务数