Refactor async task handling

- 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
This commit is contained in:
2025-08-13 21:56:26 +02:00
parent 597e9d5222
commit c729edb525
16 changed files with 53 additions and 30 deletions

View File

@@ -10,5 +10,5 @@
("is already a member of" not in (
(add_admin_to_group.stderr | default('')) ~ (add_admin_to_group.stdout | default(''))
))
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"

View File

@@ -18,5 +18,5 @@
( ((syscfg_shell.stdout | default('')) ~ (syscfg_shell.stderr | default('')))
is search(' set to ') )
failed_when: not ASYNC_ENABLED and syscfg_shell.rc != 0
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"

View File

@@ -10,5 +10,5 @@
((disable_result.stdout | default('') ~ disable_result.stderr | default('')) is search('disabled'))
and (((disable_result.stdout | default('') ~ disable_result.stderr | default('')) is not search('already disabled')))
when: not (plugin_value.enabled | bool)
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"

View File

@@ -18,8 +18,8 @@
is not search('already disabled'))
)
failed_when: false
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
- name: install {{ plugin_key }} nextcloud plugin
command: "{{ nextcloud_docker_exec_occ }} app:install {{ plugin_key }}"

View File

@@ -32,8 +32,8 @@
not ASYNC_ENABLED and
(config_set_shell.stdout | default('')) is search(' set to ')
failed_when: not ASYNC_ENABLED and config_set_shell.rc != 0
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
- name: Check if {{nextcloud_control_node_plugin_tasks_directory}}{{ plugin_key }}.yml exists
stat: