与主(烧瓶)应用程序不同的模块中的芹菜
Celery in a different module than main (flask) app
我正在 运行使用芹菜制作 Flask 应用程序。
我有一些休息控制器调用一些 运行 与芹菜的任务。
我是否必须在具有 flask 应用程序上下文的同一个主 python 文件中定义任务?
我想在另一个模块中使用 celery,例如 "TaskRunner" 模块或类似的东西,然后让 flask 应用程序/控制器使用该服务来 call/run 实际任务。
如何将应用上下文(或 celery 实例)传递给 TaskRunner,以便我可以从那里使用 celery?并在那边使用 @celery.task
注释?
提前致谢
这里有很好的解释http://flask.pocoo.org/docs/0.12/patterns/celery/
如果这还不够让我知道,我可以给你一些额外的提示
我终于通过使用蓝图重构我的代码解决了这个问题。
然后,一旦 celery 实例已经存在,我就在我的应用程序工厂中注册 "celery tasks" 蓝图,并且它可以工作。
我正在 运行使用芹菜制作 Flask 应用程序。 我有一些休息控制器调用一些 运行 与芹菜的任务。
我是否必须在具有 flask 应用程序上下文的同一个主 python 文件中定义任务?
我想在另一个模块中使用 celery,例如 "TaskRunner" 模块或类似的东西,然后让 flask 应用程序/控制器使用该服务来 call/run 实际任务。
如何将应用上下文(或 celery 实例)传递给 TaskRunner,以便我可以从那里使用 celery?并在那边使用 @celery.task
注释?
提前致谢
这里有很好的解释http://flask.pocoo.org/docs/0.12/patterns/celery/
如果这还不够让我知道,我可以给你一些额外的提示
我终于通过使用蓝图重构我的代码解决了这个问题。 然后,一旦 celery 实例已经存在,我就在我的应用程序工厂中注册 "celery tasks" 蓝图,并且它可以工作。