我正在运行一个带有芹菜的Flask应用程序。 我有一些休息控制器,它们调用一些与celery一起运行的任务。
我是否必须在具有flask应用程序上下文的同一主python文件中定义任务?
我想将芹菜放在另一个模块中,例如“ TaskRunner”模块或类似的模块,然后让Flask应用程序/控制器使用该服务来调用/运行实际任务。
如何将应用上下文(或celery实例)传递给TaskRunner,以便可以从那里使用celery?并在那里使用@celery.task
注释?
预先感谢
答案 0 :(得分:0)
我终于通过使用蓝图重构代码来解决了这个问题。 然后,一旦celery实例已经存在,并且在我的应用工厂中注册了“ celery任务”蓝图,它便可以正常工作。
答案 1 :(得分:-1)
这里http://flask.pocoo.org/docs/0.12/patterns/celery/
有很好的解释如果这还不够,我可以给你一些额外的提示