async_status#

Модуль ansible.builtin.async_status определяет статус указанной асинхронной задачи, запущенной ранее, или выполняет очистку кеша задачи, если требуется.

Параметры#

Модуль принимает следующие параметры:

jid#

Обязательный параметр.

Идентификатор задачи.

mode#

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

Возможные значения:

  • cleanup – удалить кеш задачи. Модуль не будет ожидать завершения задачи. По умолчанию кеш хранится в каталоге ~/.ansible_async/.

  • status – получить текущее состояние задачи.

Значение по умолчанию: status

Возвращаемые значения#

В этом списке указаны только возвращаемые значения, специфичные для модуля ansible.builtin.async_status.

  • ansible_job_id – идентификатор асинхронной задачи.

    Условия: при успешном выполнении.

  • erased – путь к удаленному файлу.

    Условия: при удалении файла (mode: cleanup).

  • finished – завершена ли асинхронная задача.

    Возможные значения:

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

    • 0 – задача выполняется.

    Условия: всегда.

  • started – запущена ли асинхронная задача.

    Возможные значения:

    • 1 – задача запущена;

    • 0 – задача не запущена.

    Условия: всегда.

  • stderr – вывод модуля в stderr.

    Условия: всегда.

  • stdout – вывод модуля в stdout.

    Условия: всегда.

Атрибуты#

Атрибуты определяют функции Ansible, которые может использовать модуль.

Атрибут

Описание

action

Модуль имеет соответствующее расширение действия (action plugin), которое выполняет работу на управляющем узле.

async

Модуль не поддерживает асинхронное выполнение.

bypass_host_loop

Модуль не поддерживает глобальное выполнение задачи.

check_mode

Модуль работает в режиме проверки (check_mode) в полном объеме.

diff_mode

Модуль не поддерживает режим сравнения.

platform

Модуль поддерживает POSIX-совместимые ОС и системы под управлением Windows.

Примеры#

Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.

Проверка состояния задачи#

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

---
- name: Example using ansible.builtin.async_status
  hosts: localhost
  become: true
  tasks:
    - name: Asynchronous installation of docker-io
      ansible.builtin.apt:
        name: docker.io
        state: present
      async: 1000
      poll: 0
      register: apt_sleeper

    - name: Waiting for the installation to complete
      ansible.builtin.async_status:
        jid: '{{ apt_sleeper.ansible_job_id }}'
      register: job_result

    - name: Status output
      ansible.builtin.debug:
        var: job_result

Результат выполнения сценария:

TASK [Status output] *********************************************
ok: [localhost] => {
    "job_result": {
        "ansible_job_id": "j607282878077.5945",
        "changed": false,
        "failed": false,
        "finished": 0,
        "results_file": "/root/.ansible_async/j607282878077.5945",
        "started": 1,
        "stderr": "",
        "stderr_lines": [],
        "stdout": "",
        "stdout_lines": []
     }
}

Удаление кеша#

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

---
...
- name: Deleting a temporary file
   ansible.builtin.async_status:
     jid: '{{ apt_sleeper.ansible_job_id }}'
     mode: cleanup