Browse Source

handle GroupResults for non-pickle serializers

Steeve Morin 12 years ago
parent
commit
954e1b6127
1 changed files with 3 additions and 1 deletions
  1. 3 1
      celery/backends/base.py

+ 3 - 1
celery/backends/base.py

@@ -26,7 +26,7 @@ from celery import states
 from celery.app import current_task
 from celery.datastructures import LRUCache
 from celery.exceptions import TimeoutError, TaskRevokedError
-from celery.result import from_serializable
+from celery.result import from_serializable, GroupResult
 from celery.utils import timeutils
 from celery.utils.serialization import (
         get_pickled_exception,
@@ -107,6 +107,8 @@ class BaseBackend(object):
 
     def prepare_value(self, result):
         """Prepare value for storage."""
+        if isinstance(result, GroupResult):
+            return result.serializable()
         return result
 
     def encode(self, data):