加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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中.这使安装和维护变得更加容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读