为芹菜功能添加额外的属性,可以从自定义基类访问它

问题描述 投票:2回答:1

[使用@task装饰器定义celery任务函数时,是否可以向装饰器添加一些额外的属性,以便在任务启动时可以从任务基类访问这些属性,而无需向任务函数本身添加新参数?] >

类似

class CustomBase(celery.Task):
     def __call__(self, *args, **kwargs):
         # do something with foo
         ...

         self.run()

@task(base=CustomBase, bind=True, foo=123)
def add(self, x, y):
    return x + y

[使用@task装饰器定义celery任务函数时,可以向装饰器添加一些额外的属性,当任务开始时没有...时,我可以从我的任务基类访问这些属性,

python celery
1个回答
0
投票

如果将一些变量传递给任务装饰器(具有bind = True,它将把它们传递给Task的构造函数。您可以使用self访问它们。只是一个示例代码

© www.soinside.com 2019 - 2024. All rights reserved.