【问题标题】:Supervisorctl does not auto-restart daemon queue worker when hanging挂起时,Supervisorctl 不会自动重启守护进程队列工作者
【发布时间】:2015-12-21 22:53:34
【问题描述】:

我有 supervisorctl 使用此配置管理一些守护进程队列工作人员:

[program:jobdownloader]
process_name=%(program_name)s_%(process_num)03d
command=php /var/www/microservices/ppsatoms/artisan queue:work ppsjobdownloader --daemon --sleep=0
autostart=true
autorestart=true
user=root
numprocs=50
redirect_stderr=true
stdout_logfile=/mnt/@@sync/jobdownloader.log

有时有些worker就像挂起(运行但停止获取队列消息)并且supervisorctl不会自动重启它们,所以我必须监控并手动重启它们。

配置有问题吗?我能做些什么来防止这种情况在未来发生?

【问题讨论】:

    标签: laravel queue daemon lumen supervisord


    【解决方案1】:

    更新:

    将进程作为正常进程(非守护进程)运行,以便 supervisorctl 可以在工人发出退出代码后重新启动:

    [program:jobdownloader]
    process_name=%(program_name)s_%(process_num)03d
    command=php /var/www/microservices/ppsatoms/artisan queue:work ppsjobdownloader --sleep=0
    autostart=true
    autorestart=true
    user=root
    numprocs=50
    redirect_stderr=true
    stdout_logfile=/mnt/@@sync/jobdownloader.log
    

    【讨论】:

    • 唯一注意事项:守护进程在利用 CPU 资源方面效率更高。
    猜你喜欢
    • 2019-10-09
    • 2013-01-09
    • 1970-01-01
    • 2018-05-22
    • 2016-09-19
    • 2011-06-28
    • 2015-07-15
    • 2018-04-25
    • 1970-01-01
    相关资源
    最近更新 更多