Explorar o código

Merge branch 'nott/join_native_performance'

Ask Solem %!s(int64=11) %!d(string=hai) anos
pai
achega
a0c5e81165
Modificáronse 1 ficheiros con 4 adicións e 2 borrados
  1. 4 2
      celery/result.py

+ 4 - 2
celery/result.py

@@ -567,7 +567,9 @@ class ResultSet(ResultBase):
         result backends.
 
         """
-        results = self.results
+        results_index = None if callback else dict(
+            (task_id, i) for i, task_id in enumerate(self.results)
+        )
         acc = None if callback else [None for _ in range(len(self))]
         for task_id, meta in self.iter_native(timeout, interval):
             value = meta['result']
@@ -576,7 +578,7 @@ class ResultSet(ResultBase):
             if callback:
                 callback(task_id, value)
             else:
-                acc[results.index(task_id)] = value
+                acc[results_index[task_id]] = value
         return acc
 
     def _failed_join_report(self):