diff --git a/ippisite/ippisite/decorator.py b/ippisite/ippisite/decorator.py
index af09a5582814fe2f7a11afa127b3934f9f44e465..ffd9936c54b533da50fd608d719278e5beb56f92 100644
--- a/ippisite/ippisite/decorator.py
+++ b/ippisite/ippisite/decorator.py
@@ -1,7 +1,9 @@
-from ippidb.models import Job
+import traceback
+
 from celery import Task, states
 from django_celery_results.models import TaskResult
 
+from ippidb.models import Job
 
 class AlreadyExistError(Exception):
     pass
@@ -42,7 +44,7 @@ class MonitorTask(Task):
         super(MonitorTask, self).on_success(retval, task_id, args, kwargs)
 
     def on_failure(self, exc, task_id, args, kwargs, einfo):
-        self.write(std_err=exc)
+        self.write(std_err=''.join(traceback.format_tb(einfo.tb)))
         super(MonitorTask, self).on_failure(exc, task_id, args, kwargs, einfo)
 
     def update_state(self, task_id=None, state=None, meta=None, **kwargs):