Save task now creates or updates

This way failed tasks that get requeued can have a changed status and result
This commit is contained in:
Ilan Steemers
2016-01-19 22:49:28 +01:00
parent 0e8ea25396
commit 66771f274a
+13 -11
View File
@@ -408,17 +408,19 @@ def save_task(task, broker):
try: try:
if task['success'] and 0 < Conf.SAVE_LIMIT <= Success.objects.count(): if task['success'] and 0 < Conf.SAVE_LIMIT <= Success.objects.count():
Success.objects.last().delete() Success.objects.last().delete()
Task.objects.create(id=task['id'], Task.objects.update_or_create(id=task['id'],
name=task['name'], name=task['name'],
func=task['func'], defaults={
hook=task.get('hook'), 'func': task['func'],
args=task['args'], 'hook': task.get('hook'),
kwargs=task['kwargs'], 'args': task['args'],
started=task['started'], 'kwargs': task['kwargs'],
stopped=task['stopped'], 'started': task['started'],
result=task['result'], 'stopped': task['stopped'],
group=task.get('group'), 'result': task['result'],
success=task['success']) 'group': task.get('group'),
'success': task['success']}
)
except Exception as e: except Exception as e:
logger.error(e) logger.error(e)