【问题标题】:Celery in a different module than main (flask) appCelery 在与主(烧瓶)应用程序不同的模块中
【发布时间】:2019-02-17 02:02:08
【问题描述】:

我正在使用 celery 运行 Flask 应用程序。 我有一些休息控制器,它们调用一些使用 celery 运行的任务。

我是否必须在具有烧瓶应用程序上下文的同一个主要 python 文件中定义任务?

我想在另一个模块中使用 celery,例如“TaskRunner”模块或类似的模块,然后让烧瓶应用程序/控制器使用该服务来调用/运行实际任务。

如何将应用程序上下文(或 celery 实例)传递给 TaskRunner,以便我可以从那里使用 celery?并在那里使用@celery.task 注释?

提前致谢

【问题讨论】:

    标签: flask celery


    【解决方案1】:

    我最终通过使用蓝图重构我的代码来解决这个问题。 然后,一旦 celery 实例已经存在,我就会在我的应用工厂中注册“celery 任务”蓝图,并且它可以工作。

    【讨论】:

      【解决方案2】:

      这里有很好的解释http://flask.pocoo.org/docs/0.12/patterns/celery/

      如果这还不够,请让我知道,我可以给你一些额外的提示

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-25
        • 1970-01-01
        • 1970-01-01
        • 2019-02-02
        • 2013-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多