gpt4 book ai didi

ansible - 如何在 Ansible 中执行任务之前强制运行处理程序?

转载 作者:行者123 更新时间:2023-12-03 06:02:13 26 4
gpt4 key购买 nike

我有一个剧本,应该在指定的 IP 上配置,然后连接到这个应用程序来配置里面的东西。

我遇到了一个问题:在更改应用程序配置中的任何内容后,我需要重新启动应用程序,如果我不重新启动应用程序,则与其连接失败(无连接,因为应用程序对新 IP 的新配置一无所知我正在尝试访问的地址)。

我当前的剧本:

tasks:
- name: Configure app
template: src=app.conf.j2 dest=/etc/app.conf
notify: restart app

- name: Change data in app
configure_app: host={{new_ip}} data={{data}}

handlers:
- name: restart app
service: name=app state=restarted

如果在执行“更改应用程序中的数据”之前发生了 configure_app 更改,我需要强制运行处理程序。

最佳答案

如果您想强制处理程序在两个任务之间运行而不是在播放结束时运行,则需要将其放在两个任务之间:

- 元:flush_handlers

示例取自 ansible documentation :

tasks:
- shell: some tasks go here
- meta: flush_handlers
- shell: some other tasks

请注意,这将导致所有挂起的处理程序在此时运行,而不仅仅是特定的处理程序。

关于ansible - 如何在 Ansible 中执行任务之前强制运行处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34018862/

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