Don't raise an exception at the end of a task if we are running unit tests

This commit is contained in:
Matthew Jones 2014-01-30 11:36:54 -05:00
parent 280527f993
commit bf8c4b289a
3 changed files with 2 additions and 2 deletions

View File

@ -391,7 +391,6 @@ class Job(CommonTask):
dependent_tasks = [{'type': r['type'], 'id': r['obj'].id} for r in runnable_tasks[idx:]] + [thisjob]
run_tasks.append(runnable_tasks[idx]['sig'].set(link_error=handle_work_error.s(subtasks=dependent_tasks)))
run_tasks.append(task_class().si(self.pk, **opts).set(link_error=handle_work_error.s(subtasks=[thisjob])))
print runnable_tasks
res = chain(run_tasks)()
return True

View File

@ -307,7 +307,7 @@ class BaseTask(Task):
result_traceback=tb,
output_replacements=output_replacements)
self.post_run_hook(instance, **kwargs)
if status != 'successful':
if status != 'successful' and not has hasattr(settings, 'CELERY_UNIT_TEST'):
# Raising an exception will mark the job as 'failed' in celery
# and will stop a task chain from continuing to execute
raise Exception("Task %s(pk:%s) encountered an error" % (str(self.model.__class__), str(pk)))

View File

@ -52,6 +52,7 @@ class BaseTestMixin(object):
# callbacks.
if settings.BROKER_URL.startswith('amqp://'):
settings.BROKER_URL = 'django://'
settings.CELERY_UNIT_TEST = True
# Make temp job status directory for unit tests.
job_status_dir = tempfile.mkdtemp()
self._temp_project_dirs.append(job_status_dir)