如何使用 celery.set() 方法来更新抽象基类的属性



我想使用 celery.signature().set() 方法来更改在链中调用任务时的配置。

这是我的任务的样子

class MyBaseTask(Task)
  myconfig = None

@app.task(base=MyBaseTask)
def mytask():
  print mytask.myconfig

以下是我期望如何称呼链

chain(mytask.s(message).set(myconfig=config1), mytask.s().set(myconfig=config2))

这可能吗?其他与任务相关的配置可以像这样设置,例如队列。如何在抽象基类中公开此行为?

不,我不相信这是不可能的,因为芹菜目前保留了一个值的白名单,这些值可以作为发送到代理的消息的一部分进行传输。通常,如果要动态更改动态内容,则只需将动态内容作为输入参数传递给任务。

def mytask(myconfig):
    print mytask.myconfig

相关内容

  • 没有找到相关文章

最新更新