Ask Solem 11 år sedan
förälder
incheckning
456c3438b9
2 ändrade filer med 6 tillägg och 5 borttagningar
  1. 1 1
      celery/backends/base.py
  2. 5 4
      celery/result.py

+ 1 - 1
celery/backends/base.py

@@ -381,7 +381,7 @@ class KeyValueStoreBackend(BaseBackend):
 
     def get_many(self, task_ids, timeout=None, interval=0.5):
         interval = 0.5 if interval is None else interval
-        ids = set(task_ids)
+        ids = task_ids if isinstance(task_ids, set) else set(task_ids)
         cached_ids = set()
         for task_id in ids:
             try:

+ 5 - 4
celery/result.py

@@ -547,11 +547,12 @@ class ResultSet(ResultBase):
         result backends.
 
         """
-        if not self.results:
+        results = self.results
+        if not results:
             return iter([])
-        backend = self.results[0].backend
-        ids = [result.id for result in self.results]
-        return backend.get_many(ids, timeout=timeout, interval=interval)
+        return results[0].backend.get_many(
+            set(r.id for r in results), timeout=timeout, interval=interval,
+        )
 
     def join_native(self, timeout=None, propagate=True,
                     interval=0.5, callback=None):