Ansible很难重启Supervisor
发布时间:2020-12-13 17:56:21 所属栏目:Linux 来源:网络整理
导读:我正试图通过我的Ansible Playbook重新启动Supervisor,但我似乎遇到了Ansible主管模块的问题. 在我的Supervisor配置中,我定义了一个程序: [program:process]process_name=%(program_name)s_%(process_num)02dcommand=/home/box1/workers/bin/processnumproc
我正试图通过我的Ansible Playbook重新启动Supervisor,但我似乎遇到了Ansible主管模块的问题.
在我的Supervisor配置中,我定义了一个程序: [program:process] process_name=%(program_name)s_%(process_num)02d command=/home/box1/workers/bin/process numprocs=64 directory=/home/box1/workers/bin autostart=true autorestart=true startretries=5 stderr_logfile=/tmp/%(program_name)s-err.log stdout_logfile=/tmp/%(program_name)s-out.log user=root 这很好用.但是,当我尝试通过Ansible重新启动Supervisor时,我收到以下错误: failed: [box1] => {"failed": true} msg: program:process: ERROR (no such process) program:process: ERROR (no such process) 我的Ansible任务配置如下所示: - name: Restart Supervisor sudo: yes supervisorctl: name=program:process state=restarted config=/etc/supervisor/supervisord.conf 对于name参数,我尝试过程序:进程,程序,程序:和进程但似乎没有工作.我目前正在使用Ansible 1.5.4. 解决方法
supervisorctl Ansible模块不支持reload命令(
see here),管理员需要该命令来获取新的配置条目.
你可以这样做: - command: supervisorctl reread sudo: yes - supervisorctl: name=program:process state=restarted config=/etc/supervisor/supervisord.conf sudo: yes 关于重载/重读/更新/重启的文档似乎缺失了,this blog post is out of date;你可以尝试确保重新加载符合你的期望. 最后,不要将程序定义放在supervisord.conf中.而是将它们作为单独的文件放在/etc/supervisor/conf.d/*.conf中.这使安装和维护变得更加容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |