From 48edc3c612bec804c53e6a1172c2b9a4c592758f Mon Sep 17 00:00:00 2001 From: Seth Foster Date: Fri, 1 Jul 2022 15:11:25 -0400 Subject: [PATCH] get_tasks uses UnifiedJob --- awx/main/management/commands/inventory_import.py | 2 +- awx/main/scheduler/task_manager.py | 12 ++---------- awx/settings/development.py | 4 ++-- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/awx/main/management/commands/inventory_import.py b/awx/main/management/commands/inventory_import.py index 78acec423d..4361be300a 100644 --- a/awx/main/management/commands/inventory_import.py +++ b/awx/main/management/commands/inventory_import.py @@ -862,7 +862,7 @@ class Command(BaseCommand): overwrite_vars=bool(options.get('overwrite_vars', False)), ) inventory_update = inventory_source.create_inventory_update( - _eager_fields=dict(job_args=json.dumps(sys.argv), job_env=dict(os.environ.items()), job_cwd=os.getcwd()) + _eager_fields=dict(status='running', job_args=json.dumps(sys.argv), job_env=dict(os.environ.items()), job_cwd=os.getcwd()) ) data = AnsibleInventoryLoader(source=source, verbosity=verbosity).load() diff --git a/awx/main/scheduler/task_manager.py b/awx/main/scheduler/task_manager.py index 702728d9e4..172f144ff0 100644 --- a/awx/main/scheduler/task_manager.py +++ b/awx/main/scheduler/task_manager.py @@ -76,16 +76,8 @@ class TaskBase: @timeit def get_tasks(self, filter_args): - jobs = [j for j in Job.objects.filter(**filter_args).prefetch_related('instance_group')] - inventory_updates_qs = InventoryUpdate.objects.filter(**filter_args).exclude(source='file').prefetch_related('inventory_source', 'instance_group') - inventory_updates = [i for i in inventory_updates_qs] - # Notice the job_type='check': we want to prevent implicit project updates from blocking our jobs. - project_updates = [p for p in ProjectUpdate.objects.filter(**filter_args).filter(job_type='check').prefetch_related('instance_group')] - system_jobs = [s for s in SystemJob.objects.filter(**filter_args).prefetch_related('instance_group')] - ad_hoc_commands = [a for a in AdHocCommand.objects.filter(**filter_args).prefetch_related('instance_group')] - all_tasks = sorted(jobs + project_updates + inventory_updates + system_jobs + ad_hoc_commands, key=lambda task: task.created) - logger.debug(f"{self.prefix} {all_tasks}") - return all_tasks + qs = UnifiedJob.objects.filter(**filter_args).exclude(launch_type='sync').order_by('created').prefetch_related('instance_group') + return [task for task in qs if not type(task) is WorkflowJob] def record_aggregate_metrics(self, *args): if not settings.IS_TESTING(): diff --git a/awx/settings/development.py b/awx/settings/development.py index e465689dd0..ee500dae7c 100644 --- a/awx/settings/development.py +++ b/awx/settings/development.py @@ -107,8 +107,8 @@ AWX_DISABLE_TASK_MANAGERS = False if 'sqlite3' not in DATABASES['default']['ENGINE']: # noqa DATABASES['default'].setdefault('OPTIONS', dict()).setdefault('application_name', f'{CLUSTER_HOST_ID}-{os.getpid()}-{" ".join(sys.argv)}'[:63]) # noqa - - + + # If any local_*.py files are present in awx/settings/, use them to override # default settings for development. If not present, we can still run using # only the defaults.