defer loading Job.artifacts on host views to improve performance

see: https://github.com/ansible/awx/issues/8006

this data can be *really* large, and we don't actually need it for the summary fields on this API endpoint
This commit is contained in:
Ryan Petrello
2020-08-26 13:20:35 -04:00
parent 48f00587f8
commit 73baf3fcf9
2 changed files with 11 additions and 2 deletions

View File

@@ -1702,7 +1702,10 @@ class HostSerializer(BaseSerializerWithVariables):
'type': j.job.job_type_name,
'status': j.job.status,
'finished': j.job.finished,
} for j in obj.job_host_summaries.select_related('job__job_template').order_by('-created')[:5]])
} for j in obj.job_host_summaries.select_related('job__job_template').order_by('-created').defer(
'job__extra_vars',
'job__artifacts',
)[:5]])
return d
def _get_host_port_from_name(self, name):