Ansible很难重启Supervisor

前端之家收集整理的这篇文章主要介绍了Ansible很难重启Supervisor前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图通过我的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中.这使安装和维护变得更加容易.

原文链接:https://www.f2er.com/linux/400363.html

猜你在找的Linux相关文章