Ver Fonte

subtask_from_request must include chord/group. Closes #1401

Ask Solem há 11 anos atrás
pai
commit
c2d9c7d3c7
1 ficheiros alterados com 4 adições e 6 exclusões
  1. 4 6
      celery/app/task.py

+ 4 - 6
celery/app/task.py

@@ -480,18 +480,16 @@ class Task(object):
 
     def subtask_from_request(self, request=None, args=None, kwargs=None,
                              **extra_options):
-
         request = self.request if request is None else request
         args = request.args if args is None else args
         kwargs = request.kwargs if kwargs is None else kwargs
-        delivery_info = request.delivery_info or {}
-        options = {
+        options = dict({
             'task_id': request.id,
             'link': request.callbacks,
             'link_error': request.errbacks,
-            'exchange': delivery_info.get('exchange'),
-            'routing_key': delivery_info.get('routing_key')
-        }
+            'group_id': request.group,
+            'chord': request.chord,
+        }, **request.delivery_info or {})
         return self.subtask(args, kwargs, options, type=self, **extra_options)
 
     def retry(self, args=None, kwargs=None, exc=None, throw=True,