ansible 剧本处理长 运行 过程

ansible playbook handling long running process

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

使用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,直到它终止。

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