如何设置mod_python配置变量?

时间:2009-08-03 22:44:52

标签: python configuration mod-python

我正在使用mod_python运行Python服务器,我遇到了一些配置变量问题。这实际上是两个问题,因为我认为它们是高度相关的:

  1. 我需要一种方法来配置运行时Python中可用的变量。我目前只有一个模块,它设置了一些我导入其他模块的名称 - 值对,但我最近在PythonOption阅读,并想知道使用它会有什么好处。

    < / LI>
  2. 我需要一种在服务器上存储状态的方法。我可以访问一个限制为每天运行X次的API,一旦达到该限制,我需要恢复到我的(较小的)代码。我想知道如何跟踪我在一天内运行查询的次数。

  3. 我考虑过使用文件或数据库,但我担心通过让所有人一次尝试访问同一个文件或行来减慢请求的速度。有没有更好的方法在mod_python中设置它?

2 个答案:

答案 0 :(得分:1)

  1. 使用PythonOption可以配置可能需要从服务器更改为服务器的内容。但是,我不会太用它,因为搞乱Apache配置指令是一种痛苦(加上它需要重新加载服务器)。您可能会考虑使用PythonOption来指定包含实际配置变量的设置文件的名称。 (或者您可以查看设置文件的标准位置,就像大多数框架一样)

  2. 如果您确实不想考虑文件或数据库,请尝试memcached。它基本上是一个非常简单的数据库(仅通过键获取,设置和清除),它完全存储在RAM中,所以它非常快。但是,如果您需要存储的只是一个计数器变量,那么您可能只是将它作为全局变量粘贴在Python模块中,除非您担心在重新加载模块时重置计数器。

答案 1 :(得分:0)

  1. 我需要一种方法来配置运行时Python中可用的变量。

    做Django的工作。使用Python赋值语句的简单可导入脚本。

  2. 我需要一种在服务器上存储状态的方法。

    做Django的工作。使用SQLite3。

  3. 另外,阅读PEP 333并构建应用程序组件以支持WSGI。这应该是一个相对较小的修订版,以便为现有代码提供适当的WSGI结构。

    当您从mod_python切换到mod_wsgi时,您可以找到许多组件来为您执行这些操作并减少您编写的代码量。