Запустите ANSIBLE PlayBook из PHP и получите уведомление, когда это будет сделано

Я хочу запустить скрипт на удаленном сервере, используя ANSIBLE PlayBook со своей страницы PHP.
Есть ли способ получить уведомление, когда удаленный скрипт (ansible paybook) закончил.
Я думал использовать задачу, чтобы вставить строку в мою базу данных с удаленного сервера, но я не думаю, что это возможно.

Какой лучший способ сделать это:

  1. Для запуска удаленного скрипта вызовите ansible playbook из php
  2. Получите Stdout, Sterr и вывод удаленного скрипта
  3. Получить уведомление, когда скрипт завершится, чтобы я мог показать вывод на моей странице php.

-1

Решение

Вы могли бы использовать плагины обратного вызова,

Например, в вашем ansible.cfg вы могли бы иметь что-то вроде

[defaults]
callback_whitelist = timer, stderr, mail

Это означает, что он будет использовать плагин таймер, STDERR а также почта.

  • таймер — добавляет время для воспроизведения статистики
  • stderr — разделяет вывод, отправляя неудачные задачи в stderr
  • mail — отправляет сообщения об ошибках по электронной почте

Проверьте существующий список плагинов здесь: callback.html # плагин-лист, или используя:

ansible-doc -t callback -l

Если существующих плагинов недостаточно, вы всегда можете создать свой собственный: developing_plugins

1

Другие решения

Вы должны использовать систему очередей. Подобно: https://github.com/queue-interop/queue-interop

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

1

По вопросам рекламы [email protected]