一 问题出现背景
supervisorctl update error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/lib64/python2.7/socket.py line: 571
二 查找出现问题的原因:
/usr/bin/supervisorctl -h
supervisorctl -- control applications run by supervisord from the cmd line. Usage: /usr/bin/supervisorctl [options] [action [arguments]] Options: -c/--configuration -- configuration file path (default /etc/supervisord.conf) -h/--help -- print usage message and exit -i/--interactive -- start an interactive shell after executing commands -s/--serverurl URL -- URL on which supervisord server is listening (default "http://localhost:9001"). -u/--username -- username to use for authentication with server -p/--password -- password to use for authentication with server -r/--history-file -- keep a readline history (if readline is available) action [arguments] -- see below Actions are commands like "tail" or "stop". If -i is specified or no action is specified on the command line, a "shell" interpreting actions typed interactively is started. Use the action "help" to find out about available actions.
通过上面 default /etc/supervisord.conf 得知 supervisorctl 默认使用的配置文件地址,而 supervisor 进程使用的配置文件地址是: /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf。
三. 解决方法
ln -s /etc/supervisor/supervisord.conf /etc/supervisord.conf
将配置文件软链接到 /etc/supervisord.conf.
supervisorctl status QueueActivity:QueueActivity_0 RUNNING pid 28293, uptime 0:15:20 QueueAddScore:QueueAddScore_0 RUNNING pid 28292, uptime 0:15:20 QueueScore:QueueScore_0 RUNNING pid 28291, uptime 0:15:20 QueueUserArea:QueueUserArea_0 RUNNING pid 28290, uptime 0:15:20
完美解决!