如何在Celery中的不同包中使用相同的应用程序

时间:2015-01-16 17:33:08

标签: python celery

假设我有一个定义Celery任务的包A:

app = Celery('tasks')

@app.task
def doA():
    return "doA"

我还有一个包B做同样的事情:

 app = Celery('tasks')

 @app.task
 def doB():
     return "doB"

然后我有一个包装A和B的包C:

import package_a
import package_b
#Of course I can call doA and doB asynchronously
package_a.doA.delay()
package_a.doB.delay()

但是在C语言包中如何启动一个包含A和B包中的任务的worker(定义一个全局app对象)?

1 个答案:

答案 0 :(得分:0)

在package_c中,您可以添加以下芹菜配置:

CELERY_IMPORTS = [
    'package_a',
    'package_b',
  ]

然后工人将从A和B中找到任务