mirror of
https://github.com/ansible/awx.git
synced 2026-03-11 22:49:32 -02:30
Sort both bulk updates and add batch size to facts bulk update to resolve deadlock issue
This commit is contained in:
@@ -602,7 +602,7 @@ class JobEvent(BasePlaybookEvent):
|
|||||||
h.last_job_host_summary_id = host_mapping[h.id]
|
h.last_job_host_summary_id = host_mapping[h.id]
|
||||||
updated_hosts.add(h)
|
updated_hosts.add(h)
|
||||||
|
|
||||||
Host.objects.bulk_update(list(updated_hosts), ['last_job_id', 'last_job_host_summary_id'], batch_size=100)
|
Host.objects.bulk_update(sorted(updated_hosts, key=lambda host: host.id), ['last_job_id', 'last_job_host_summary_id'], batch_size=100)
|
||||||
|
|
||||||
# Create/update Host Metrics
|
# Create/update Host Metrics
|
||||||
self._update_host_metrics(updated_hosts_list)
|
self._update_host_metrics(updated_hosts_list)
|
||||||
|
|||||||
@@ -62,7 +62,8 @@ def start_fact_cache(hosts, destination, log_data, timeout=None, inventory_id=No
|
|||||||
|
|
||||||
|
|
||||||
def raw_update_hosts(host_list):
|
def raw_update_hosts(host_list):
|
||||||
Host.objects.bulk_update(host_list, ['ansible_facts', 'ansible_facts_modified'])
|
host_list = sorted(host_list, key=lambda host: host.id)
|
||||||
|
Host.objects.bulk_update(host_list, ['ansible_facts', 'ansible_facts_modified'], batch_size=100)
|
||||||
|
|
||||||
|
|
||||||
def update_hosts(host_list, max_tries=5):
|
def update_hosts(host_list, max_tries=5):
|
||||||
|
|||||||
Reference in New Issue
Block a user