Преглед изворни кода

Improve performance of ResultSet.join_native

Stas Rudakou пре 11 година
родитељ
комит
425c0fe6c8
1 измењених фајлова са 4 додато и 2 уклоњено
  1. 4 2
      celery/result.py

+ 4 - 2
celery/result.py

@@ -566,7 +566,9 @@ class ResultSet(ResultBase):
         result backends.
 
         """
-        results = self.results
+        results_index = 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']
@@ -575,7 +577,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):