В ansible playbook мы можем обнаружить результат команды оболочки, проверить, а затем повторить попытку, если произошел сбой, подобный этому
---
# Retry when failure
- hosts: all
become: yes
become_user: www-data
vars:
ansible_python_interpreter: /usr/bin/python3
tasks:
- name: checking test task
shell: bin/console ahihi
args:
chdir: /var/www/backend/current/
executable: /bin/bash
register: result
until: result == 0
retries: 3
delay: 15
Но как я могу настроить регистрацию / до / повторов / задержку в ansiblead-hoc команда? Потому что мне нужно запустить небольшую команду (но иногда сбой во время сетевых проблем или что-то в этом роде), которую нужно повторить как минимум 3 раза, прежде чем сдаваться.
Вот мое объявлениеКоманда -hoc:
ansible -i cron -m shell \
--become --become-user www-data \
-a "/var/www/backend/current/bin/console ahihi"