gpt4 book ai didi

ansible - Ansible处理程序-独占重启或重新加载

转载 作者:行者123 更新时间:2023-12-02 07:19:16 24 4
gpt4 key购买 nike

我有许多Ansible角色,它们通知处理程序重新启动或重新加载systemd服务。如果通知了重新启动,则显然不需要重新加载同一服务,并且尝试同时执行这两项操作都可能导致失败,因为重新启动后重新加载的速度太快了。有没有一种方法可以配置处理程序,以便重新加载任务仅在未运行重新启动任务时才触发?

以下是我当前的重启/重载处理程序的示例。

- name: Restart foo service
systemd:
name: foo
daemon_reload: yes
state: restarted
become: yes

- name: Reload foo service
systemd:
name: foo
daemon_reload: yes
state: reloaded
become: yes

最佳答案

您可以从处理程序通知处理程序,从而可以实现所需的内容,例如通过这种方式(或使用逻辑运算符):

- name: Restart foo service
set_fact:
foo_state: restarted
changed_when: true
notify: Reload foo service

- name: Reload foo service
systemd:
name: foo
daemon_reload: yes
state: "{{ foo_state | default('reloaded') }}"
become: yes

处理程序名称是一个优先事项,我将其保留不变。

关于ansible - Ansible处理程序-独占重启或重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50679077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com