想象一下下面的剧本,它管理一个 systemd 服务单元和一个“事物”服务的配置文件:
---
- hosts: all
tasks:
- copy:
src: thing.service
dest: /etc/systemd/system/thing.service
notify: restart thing
- copy:
src: thing.conf
dest: /etc/thing.conf
notify: reload thing
handlers:
- name: restart thing
systemd:
name: thing
state: restarted
- name: reload thing
systemd:
name: thing
state: reloaded # Unnecessary if the restart handler has triggered.
如果我修改 thing.service 文件和 thing.conf 文件,处理程序将触发重新启动和重新加载。
不需要重新加载,因为服务将重新启动。
有什么方法可以通知 Ansible,这样它就不会在重启后触发不必要的重新加载?
我不想注册变量并使用“when”子句检查处理程序中的变量。我在问这是否是 Ansible 在其剧本和任务语法中适应的东西。