【问题标题】:Storing configuration in Tornado projects and Celery在 Tornado 项目和 Celery 中存储配置
【发布时间】:2015-04-19 09:25:10
【问题描述】:

我在 Tornado 项目中遇到了使用 Celery 任务的问题。
现在我使用*.conf 文件和tornado.options 来解析它们。 tornado.options 解析配置文件和命令行。

项目中还有 Celery app 对象。所以当我启动 celery worker 时,它不知道命令行和配置文件,所以我得到了错误。

问题是如何存储配置以在后端服务器和工作人员之间分配?这些问题更多地是关于您的经验和最佳实践。

我听说过分布式配置系统,例如etcd。它对 Tornado/Celery 项目有用吗?

【问题讨论】:

    标签: python celery tornado etcd


    【解决方案1】:

    您可以使用app.config_from_object(x) 从现有对象配置您的 Celery 应用程序。然后,您可以像这样设置应用程序的文件:

    app = Celery("myappname")
    tornado_config = get_tornado_config()
    celery_config = tornado_config.celery
    app.config_from_object(celery_config)
    

    例如将您的芹菜设置存储在您的龙卷风配置中并从那里访问它。那么你就不需要区分后端服务器和worker,至少在包安装方面不需要。

    【讨论】:

    • 请问get_tornado_config到底应该返回什么?
    • 无论如何,谢谢。只是当工作人员运行时无法读取龙卷风配置的问题的一部分。我们只是不打电话给tornado.options.parse_config_file
    • 有什么原因你不能在你的 celery 应用文件中这样做吗?
    猜你喜欢
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多