Supervisor 配置laravel队列常驻

  1. 安装 supervisor
    yum install supervisor
  2. 启动并设置开机自启 
    systemctl start supervisord
    systemctl enable supervisord
  3. 创建 Laravel 队列配置文件
    vim /etc/supervisord.d/laravel-worker.ini
    
    [program:laravel-worker]
    process_name=%(program_name)s_%(process_num)02d
    command=/usr/bin/php /www/wwwroot/your-project/artisan queue:work redis --sleep=3 --tries=3 --timeout=120 --max-jobs=500 --max-time=3600
    autostart=true
    autorestart=true
    stopasgroup=true
    killasgroup=true
    user=www
    numprocs=2
    redirect_stderr=true
    stdout_logfile=/www/wwwroot/your-project/storage/logs/worker.log
    stopwaitsecs=3600
    
    
    sleep	无任务等待秒数
    tries	最大失败重试次数
    timeout	单任务最大运行时间
    max-jobs	执行多少任务自动重启
    max-time	运行多久自动重启
    memory	超过多少MB自动重启
    numprocs	开启多少个 worker 进程
  4. 加载并启动 Supervisor 配置
    supervisorctl reread
    supervisorctl update
    supervisorctl start laravel-worker:*
  5. 确认 Supervisor 是否正在运行
    systemctl status supervisord
    
    supervisorctl status
    正常应显示:
    laravel-worker_00 RUNNING
    laravel-worker_01 RUNNING
  6. 部署后记得执行
    php artisan queue:restart
  7. 查看失败任务
    php artisan queue:failed
  8. 重试
    php artisan queue:retry all
posted @ 2026-02-14 23:25  xiaobingch  阅读(5)  评论(0)    收藏  举报