Przeglądaj źródła

Merge branch 'c32-dynamic'

Ask Solem 10 lat temu
rodzic
commit
49d356d61a
1 zmienionych plików z 11 dodań i 0 usunięć
  1. 11 0
      celery/app/task.py

+ 11 - 0
celery/app/task.py

@@ -590,6 +590,17 @@ class Task(object):
             raise ret
         return ret
 
+    def replace(self, sig):
+        request = self.request
+        sig.set_immutable(True)
+        chord_id, request.chord = request.chord, None
+        group_id, request.group = request.group, None
+        callbacks, request.callbacks = request.callbacks, [sig]
+        if group_id or chord_id:
+            sig.set(group=group_id, chord=chord_id)
+        sig |= callbacks[0]
+        return sig
+
     def apply(self, args=None, kwargs=None,
               link=None, link_error=None, **options):
         """Execute this task locally, by blocking until the task returns.