我一直在使用抽象的Task并覆盖__call__
方法,以便在每个任务执行之前处理一些事情:
class CoreTaskHandler(Task):
abstract = True
def __call__(self, *args, **kwargs):
但是__call__
方法在worker上执行,我需要一些覆盖,它将在main上执行,而不是每次任务被“延迟”时都执行。
有没有人知道我将如何继续这样做?
答案 0 :(得分:2)
我已通过覆盖Task:
中的apply_sync方法修复此问题class CoreTaskHandler(Task):
abstract = True
def apply_async(self, *args, **kwargs):
........
return super(CoreTaskHandler, self).apply_async(*args, **kwargs)