![Supervisord는 인스턴스를 1개만 생성합니다.](https://rvso.com/image/617256/Supervisord%EB%8A%94%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EB%A5%BC%201%EA%B0%9C%EB%A7%8C%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음과 같은 문제가 있습니다.
이것은 내 Supervisord.conf 추가입니다:
[program:gearman-test-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /path/to/gearman-jobs/worker.php
numprocs=5
directory=/path/to/gearman-jobs/
stdout_logfile=/var/log/gearman-job-server/supervisord.log
environment=GEARMAN_USER=gearman
autostart=true
autorestart=true
user=gearman
stopsignal=KILL
시작하면 supervisord -n
5개가 아닌 1개의 인스턴스만 생성됩니다. 메시지는 괜찮아 보일 것입니다.
[root@pc113 gearman-jobs]# supervisord -n
2013-09-03 14:24:58,775 CRIT Supervisor running as root (no user in config file)
2013-09-03 14:24:58,789 INFO /var/tmp/supervisor.sock:Medusa (V1.1.1.1) started at Tue Sep 3 14:24:58 2013
Hostname: <unix domain socket>
Port:/var/tmp/supervisor.sock
2013-09-03 14:24:58,850 CRIT Running without any HTTP authentication checking
2013-09-03 14:24:58,850 INFO supervisord started with pid 8722
2013-09-03 14:24:58,853 INFO spawned: 'gearman-test-worker' with pid 8723
2013-09-03 14:24:59,858 INFO success: gearman-test-worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
단일 인스턴스만 생성하는 이유에 대한 힌트는 없습니다. 도울 수 있니?
답변1
각 프로세스가 다른 포트에서 실행되도록 되어 있는 경우 동일한 포트에서 각 프로세스를 생성하려고 시도할 수 있습니다.
당신이 사용할 수있는
numprocs_start=<PORT_NUM>
명령을 통해 시작하려는 항목에 process_num을 전달합니다.
Python 스크립트와 함께 사용한 전체 프로그램 구성
process_name=inf_svr%(process_num)s
directory=/media/sf_Projects/inf_api/inf_api/
environment=USER=root,PYTHONPATH=/usr/bin/
command=python /media/sf_Projects/inf_api/inf_api/inf_server.py --port=%(process_num)s
startsecs=2
user=root
autostart=true
autorestart=true
numprocs=4
numprocs_start=8080