mirror of
https://github.com/ansible/awx.git
synced 2026-01-19 21:51:26 -03:30
Activity stream and timeout
Update activity stream to show approval node info, add meaningful log message for expired approval nodes in the Task Manager timeout function.
This commit is contained in:
parent
0522d45ab0
commit
8c17990750
@ -121,6 +121,8 @@ SUMMARIZABLE_FK_FIELDS = {
|
||||
'job_template': DEFAULT_SUMMARY_FIELDS,
|
||||
'workflow_job_template': DEFAULT_SUMMARY_FIELDS,
|
||||
'workflow_job': DEFAULT_SUMMARY_FIELDS,
|
||||
'workflow_approval_template': DEFAULT_SUMMARY_FIELDS,
|
||||
'workflow_approval': DEFAULT_SUMMARY_FIELDS,
|
||||
'schedule': DEFAULT_SUMMARY_FIELDS + ('next_run',),
|
||||
'unified_job_template': DEFAULT_SUMMARY_FIELDS + ('unified_job_type',),
|
||||
'last_job': DEFAULT_SUMMARY_FIELDS + ('finished', 'status', 'failed', 'license_error'),
|
||||
|
||||
@ -520,15 +520,15 @@ class TaskManager():
|
||||
logger.debug("{} couldn't be scheduled on graph, waiting for next cycle".format(task.log_format))
|
||||
|
||||
def timeout_approval_node(self):
|
||||
workflow_approval = WorkflowApproval.objects.filter(status='pending').prefetch_related('workflow_approval_template')
|
||||
workflow_approvals = WorkflowApproval.objects.filter(status='pending').prefetch_related('workflow_approval_template')
|
||||
now = tz_now()
|
||||
for task in workflow_approval:
|
||||
for task in workflow_approvals:
|
||||
# TODO: copy the timeout to the job itself at launch time, not the template
|
||||
approval_timeout_seconds = timedelta(seconds=task.workflow_approval_template.timeout)
|
||||
if task.workflow_approval_template.timeout == 0:
|
||||
continue
|
||||
if (now - task.created) >= approval_timeout_seconds:
|
||||
logger.info("This approval node has timed out.")
|
||||
logger.info("The approval node {} ({}) has expired after {} seconds.".format(task.name, task.id, task.workflow_approval_template.timeout))
|
||||
task.status = 'failed'
|
||||
task.job_explanation = _("This approval node has timed out.")
|
||||
task.save(update_fields=['status', 'job_explanation'])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user