diff --git a/awx/main/tasks/system.py b/awx/main/tasks/system.py index 008c3bcb2f..4397a79bed 100644 --- a/awx/main/tasks/system.py +++ b/awx/main/tasks/system.py @@ -846,7 +846,7 @@ def handle_work_error(task_id, *args, **kwargs): def handle_success_and_failure_notifications(job_id): uj = UnifiedJob.objects.get(pk=job_id) retries = 0 - while retries < 5: + while retries < settings.AWX_NOTIFICATION_JOB_FINISH_MAX_RETRY: if uj.finished: uj.send_notification_templates('succeeded' if uj.status == 'successful' else 'failed') return diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index b11710495e..f1da7c7061 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -5,6 +5,7 @@ import base64 import os import re # noqa import sys +import tempfile from datetime import timedelta @@ -590,7 +591,7 @@ AWX_ISOLATION_SHOW_PATHS = [] # execution and isolation (such as credential files and custom # inventory scripts). # Note: This setting may be overridden by database settings. -AWX_ISOLATION_BASE_PATH = "/tmp" +AWX_ISOLATION_BASE_PATH = tempfile.gettempdir() # User definable ansible callback plugins # Note: This setting may be overridden by database settings. @@ -983,6 +984,9 @@ BROADCAST_WEBSOCKET_NEW_INSTANCE_POLL_RATE_SECONDS = 10 # How often websocket process will generate stats BROADCAST_WEBSOCKET_STATS_POLL_RATE_SECONDS = 5 +# Number of times to retry sending a notification when waiting on a job to finish. +AWX_NOTIFICATION_JOB_FINISH_MAX_RETRY = 5 + DJANGO_GUID = {'GUID_HEADER_NAME': 'X-API-Request-Id'} # Name of the default task queue