From 11296ab29d0cf5da53aad09fc3ade609e199c70b Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Sat, 9 Feb 2019 16:40:41 +0100 Subject: [PATCH] construct object if task result is an Exception --- inventory_provider/tasks/worker.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index b5c7a0c1..3b7db454 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -416,5 +416,13 @@ def check_task_status(task_id): 'success': r.status == states.SUCCESS, } if r.result: - result['result'] = r.result + # TODO: only discovered this case by testing, is this the only one? + # ... otherwise need to pre-test json serialization + if isinstance(r.result, Exception): + result['result'] = { + 'error type': type(r.result).__name__, + 'message': str(r.result) + } + else: + result['result'] = r.result return result -- GitLab