当前位置: 代码迷 >> 综合 >> supervisor 同时开启多个进程 numprocs 1
  详细解决方案

supervisor 同时开启多个进程 numprocs 1

热度:12   发布时间:2023-11-26 20:54:31.0

Error:

Error: %(process_num) must be present within process_name when numprocs > 1

当同一个脚本,希望启动多个守护进程时。

背景:一台消费者服务器,同一消费者脚本,希望开启多个进程,(多个消费者,消费)

 

需要增加两个参数:

process_name=%(program_name)s_%(process_num)02d              ;多进程名称肯定不能相同,匹配多个
numprocs=4                                                   ;启动N个进程

 

注:

开启单个进程配置:

[program:rabbitmq_worker]
command=php /home/wwwroot/rabbitmq/worker/receive.php
autostart=true                           ;是否随supervisor启动
autorestart=true                         ;是否在挂了之后重启,意外关闭后会重启,比如kill掉!
startsecs=5
startretries=3                           ;启动尝试次数
stderr_logfile=/tmp/rabbitmq_worker_err.log        ;标准输出的位置
stdout_logfile=/tmp/rabbitmq_worker_out.log        ;标准错误输出的位置

 

开启多个进程配置:(增加两项配置)

[program:rabbitmq_worker]
command=php /home/wwwroot/rabbitmq/worker/receive.php
process_name=%(program_name)s_%(process_num)02d              ;多进程名称肯定不同,匹配多个
numprocs=4                                                   ;启动多个进程
autostart=true                           ;是否随supervisor启动
autorestart=true                         ;是否在挂了之后重启,意外关闭后会重启,比如kill掉!
startsecs=5
startretries=3                           ;启动尝试次数
stderr_logfile=/tmp/rabbitmq_worker_err.log        ;标准输出的位置
stdout_logfile=/tmp/rabbitmq_worker_out.log        ;标准错误输出的位置

 

    启动多个进程,进程名称必须不一样,对进程名称进行命名,需要匹配个后缀来促使进程名不同。

图片若侵权,请联系作者及时删除,谢谢。

 

 

人人为我,我为人人,美美与共,天下大同