community.general.supervisorctl 模块 – 通过 supervisord 管理程序或程序组的状态
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:community.general.supervisorctl
。
概要
通过 supervisord 管理程序或程序组的状态
要求
以下要求需要在执行此模块的主机上满足。
supervisorctl
参数
参数 |
注释 |
---|---|
supervisor 配置文件路径 |
|
用于身份验证的密码 |
|
supervisord 服务器正在监听的 URL |
|
当与 “signalled” 状态结合使用时,要发送到程序/组的信号。当 l(state=signalled) 时,必需。 |
|
程序/组的所需状态。 选项
|
|
supervisorctl 可执行文件的路径 |
|
用于身份验证的用户名 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完整 |
可以在 |
|
支持:无 |
当处于差异模式时,将返回已更改(或可能需要在 |
备注
注意
当
state=present
时,如果程序/组不存在,该模块将调用supervisorctl reread
,然后调用supervisorctl add
。当
state=restarted
时,该模块将调用supervisorctl update
,然后调用supervisorctl restart
。当
state=absent
时,模块将调用supervisorctl reread
,然后调用supervisorctl remove
来移除目标程序/组。如果程序/组仍在运行,该操作将失败。如果希望在移除之前停止程序/组,请使用stop_before_removing=true
。
示例
- name: Manage the state of program to be in started state
community.general.supervisorctl:
name: my_app
state: started
- name: Manage the state of program group to be in started state
community.general.supervisorctl:
name: 'my_apps:'
state: started
- name: Restart my_app, reading supervisorctl configuration from a specified file
community.general.supervisorctl:
name: my_app
state: restarted
config: /var/opt/my_project/supervisord.conf
- name: Restart my_app, connecting to supervisord with credentials and server URL
community.general.supervisorctl:
name: my_app
state: restarted
username: test
password: testpass
server_url: https://127.0.0.1:9001
- name: Send a signal to my_app via supervisorctl
community.general.supervisorctl:
name: my_app
state: signalled
signal: USR1
- name: Restart all programs and program groups
community.general.supervisorctl:
name: all
state: restarted