finished#

Расширение тестирования ansible.builtin.finished проверяет, завершена ли асинхронная задача. Для этого расширение сравнивает значение ключа finished из данных о состоянии задачи со значением 1.

Примечание

Расширение можно использовать для проверки статуса синхронных задач, но оно будет выдавать предупреждения.

Описание применения расширений тестирования приведено в документе Тестирование.

Особенности работы#

Для проверки статуса задачи используйте конструкцию:

<task_data> is ansible.builtin.finished

Здесь <task_data> – словарь с данными задачи. Его можно получить с помощью директивы register.

Для инверсии результата сравнения добавьте not:

<task_data> is not ansible.builtin.finished

Входные значения#

Расширение принимает единственный входной параметр Input – словарь данных о состоянии задачи Ansible.

Выходные значения#

Расширение возвращает True или False в зависимости от результата проверки:

  • False – задача завершена;

  • True – задача не завершена.

Пример#

Следующий пример демонстрирует использование расширения для проверки статуса асинхронной задачи:

---
# ...
  tasks:
    - name: Run script in async mode
      ansible.builtin.command: /path/to/script.py
      async: 1000
      poll: 20
      register: async_script

    - name: Check on async task status
      ansible.builtin.debug:
        msg: "Task is finished"
      when: async_script is ansible.builtin.finished