mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-15 08:30:46 +02:00
- Standardize async/poll usage with 'ASYNC_ENABLED | bool' - Add async/poll parameters to Cloudflare, Nginx, Mailu, MIG, Nextcloud, and OpenLDAP tasks - Update async configuration in 'group_vars/all/00_general.yml' to ensure boolean evaluation - Allow CAA, cache, and DNS tasks to run asynchronously when enabled https://chatgpt.com/share/689cd8cc-7fbc-800f-bd06-a667561573bf
39 lines
1.3 KiB
YAML
39 lines
1.3 KiB
YAML
- name: Build data (single async task)
|
|
shell: |
|
|
set -euo pipefail
|
|
infinito build tree --no-signal --alarm-timeout 0 -s {{ mig_roles_meta_volume }}
|
|
infinito build roles_list --no-signal --alarm-timeout 0 -o {{ mig_roles_meta_list }}
|
|
async: "{{ (3600 if ASYNC_ENABLED | bool else omit) | default(omit) }}"
|
|
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
|
|
register: mig_build_job
|
|
|
|
- name: Fail if MIG build job did not start
|
|
fail:
|
|
msg: >
|
|
MIG build job failed to start. No job ID returned.
|
|
when: mig_build_job.ansible_job_id is not defined
|
|
|
|
- name: Debug MIG build job ID
|
|
debug:
|
|
msg: "MIG build job started with ID: {{ mig_build_job.ansible_job_id }}"
|
|
when: MODE_DEBUG | bool
|
|
|
|
- debug:
|
|
msg: "Waiting for MIG build job to finish. Set 'build_data.wait_for=false' in the application config to skip waiting and improve performance."
|
|
when: mig_wait_for_build | bool
|
|
|
|
- name: Wait for MIG build job to finish (enforce failure)
|
|
async_status:
|
|
jid: "{{ mig_build_job.ansible_job_id }}"
|
|
register: mig_build_result
|
|
until: mig_build_result.finished
|
|
retries: 360
|
|
delay: 10
|
|
when:
|
|
- mig_wait_for_build | bool
|
|
failed_when:
|
|
- mig_build_result.result is defined
|
|
- mig_build_result.result.rc is defined
|
|
- mig_build_result.result.rc != 0
|
|
|