فهرست منبع

Make .store_result function if 'state' is not known to celery.

If a task wanted to store a result but keep the state e.g. in
'STARTED', encore_result returned None so nothing was passed
to the backend.
Jonas Haag 14 سال پیش
والد
کامیت
4e9d87b95c
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 3 3
      celery/backends/base.py

+ 3 - 3
celery/backends/base.py

@@ -22,10 +22,10 @@ class BaseBackend(object):
         pass
 
     def encode_result(self, result, status):
-        if status == states.SUCCESS:
-            return self.prepare_value(result)
-        elif status in self.EXCEPTION_STATES:
+        if status in self.EXCEPTION_STATES:
             return self.prepare_exception(result)
+        else:
+            return self.prepare_value(result)
 
     def store_result(self, task_id, result, status):
         """Store the result and status of a task."""