3

У меня есть следующие заданные роли: "Задача 1", "Задача 2", «Задача 2.1», «Задача 2.2», "Задача 3"

Мне нужно запустить их, но для выполнения всех этих задач требуется много времени (от 1 часа до 12 часов), и они должны идти в особом порядке сортировки (я имею в виду, что «Задача 2.1» должна запускаться только после "Задачи 2" и скоро)

Как я могу это сделать?

1 ответ1

3

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

- name: 'YUM - fire and forget task'
  yum: name=docker-io state=installed
  async: 1000
  poll: 0
  register: yum_sleeper

Затем выполните еще одну задачу, которая проверяет состояние фоновой задачи.

- name: 'YUM - check on fire and forget task'
  async_status: jid={{ yum_sleeper.ansible_job_id }}
  register: job_result
  until: job_result.finished
  retries: 30

Пример взят из официальных документов Ansible: http://docs.ansible.com/ansible/playbooks_async.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .