瀏覽代碼

Fix task protocol shadow exception when self.__self__ is None

PMickael 10 年之前
父節點
當前提交
589a6998ef
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      celery/app/task.py

+ 3 - 1
celery/app/task.py

@@ -471,13 +471,15 @@ class Task(object):
         if self.__self__ is not None:
             args = args if isinstance(args, tuple) else tuple(args or ())
             args = (self.__self__, ) + args
+            shadow = shadow or self.shadow_name(args, kwargs, final_options)
+
         final_options = self._get_exec_options()
         if options:
             final_options = dict(final_options, **options)
         return app.send_task(
             self.name, args, kwargs, task_id=task_id, producer=producer,
             link=link, link_error=link_error, result_cls=self.AsyncResult,
-            shadow=shadow or self.shadow_name(args, kwargs, final_options),
+            shadow=shadow,
             **final_options
         )