Prevent failing a successful project update if inventory update fails

Scenario - job is launched and spawns inventory update and project update.
If the inventory update fails, then it will fail the job and the project update.
It will fail the project update even if that update already ran and was successful.

This code change will not fail the project update if it has already ran successfully.

In cases where other jobs depend on that project update (but not the failed inventory
update), then we don't want those jobs to fail.
This commit is contained in:
Seth Foster 2020-02-24 11:35:57 -05:00
parent 22307bba97
commit 31dbf38a35
No known key found for this signature in database
GPG Key ID: DECBFA46ED79BAEA

View File

@ -584,7 +584,7 @@ def handle_work_error(task_id, *args, **kwargs):
first_instance = instance
first_instance_type = each_task['type']
if instance.celery_task_id != task_id and not instance.cancel_flag:
if instance.celery_task_id != task_id and not instance.cancel_flag and not instance.status == 'successful':
instance.status = 'failed'
instance.failed = True
if not instance.job_explanation:
@ -1692,7 +1692,7 @@ class RunJob(BaseTask):
if settings.MAX_FORKS > 0 and job.forks > settings.MAX_FORKS:
logger.warning(f'Maximum number of forks ({settings.MAX_FORKS}) exceeded.')
args.append('--forks=%d' % settings.MAX_FORKS)
else:
else:
args.append('--forks=%d' % job.forks)
if job.force_handlers:
args.append('--force-handlers')