【问题标题】:Dinstinguish between Development and Production Environment区分开发环境和生产环境
【发布时间】:2017-04-05 11:43:31
【问题描述】:

我希望能够区分开发环境和生产环境。

用例

我面前有一个庞大的遗留代码库 (python)。

我不确定某些方法是否仍在生产中使用。

我目前的策略

如果代码在开发环境中使用,我想引发异常。但是在生产中不应引发异常,但应发出警告。如果在大约 3 个月内没有任何警告,那么我几乎可以肯定地知道可以删除此代码。

问题

如何区分开发环境和生产环境

【问题讨论】:

  • 这真的不是 Python 问题,而是“我的部署环境如何以不同方式定义和配置”的问题。除非你能告诉我们,否则我们无能为力。如果你能告诉我们,你可能不需要我们的帮助。
  • @SimonHibbs 是的,你是对的。这个问题需要在更高的层次上解决,而不是 python。如果不是在这里,我在哪里可以问这个问题?
  • 我认为这确实是系统管理员、操作甚至架构问题。例如,在我工作的一家商店中,每个数据库都存储了一个参数,该参数指示它是 prod、dev 等,我们的代码查询它以判断它在哪个环境中。在基础设施级别设置它可能是正确的方法。
  • @SimonHibbs 是的,数据库中的一个参数可能会有所帮助。还没有“最佳实践”吗?

标签: python production-environment dead-code


【解决方案1】:

我有两种方法:

  1. 使用全局变量检测当前环境。您可以在文件 config.py 中定义此变量,或者在运行代码时在会话中作为 ENVIRONMENT VARIABLE 传递:$DEV_ENV=1 python run.py

  2. 在 docker 中部署 2 个实例,就像 2 个应用程序运行在 2 个中一样 系统,最适合区分环境

【讨论】:

    猜你喜欢
    • 2013-07-14
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多