Ansible Playbook处理长期运行的过程

时间:2019-03-07 15:55:41

标签: ansible-2.x

可以处理长时间运行的进程,并且可能无法使应用程序在cli中运行。例如zfs scrub / tank会在几秒钟内完成,但是scrub的过程在后台继续进行。有一个名为zed的实用程序,可以在清理完成后运行脚本或执行其他操作以获取清理的详细信息。是否有ansible可以处理这种情况以接收结果并对其采取行动的方法,还是需要像jenkins这样的工具

1 个答案:

答案 0 :(得分:1)

使用wait_for模块使Ansible等待该过程完成。

例如,您可以配置zed实用程序在清理过程完成时创建文件。

- name: Wait until the file /tmp/scrub-results is present before continuing
  wait_for:
    path: /tmp/scrub-results

wait_for模块可以测试许多其他条件,例如是否存在打开的端口或要显示在文件中的特定内容。它也可以监视特定的进程ID,直到终止为止。

最好阅读文档,以确定最适合您的用例。