未知
项目描述
menagerie - (n.) 一个存放和训练动物,特别是为展览而准备的场所
Django设置持有者,由ZooKeeper支持。
基本用法
menagerie.configure辅助函数提供了一个使用正常方法(通过DJANGO_SETTINGS_MODULE环境变量)已可用的设置来引导您的Django设置的方法,但使用ZooKeeper中存在的设置来覆盖这些默认值。
要配置您的应用程序,
在您的Django设置文件(s)中添加一个包含要连接的ZooKeeper集群成员的网络地址的ZOOKEEPER_HOSTS设置,作为一个列表或元组。例如
ZOOKEEPER_HOSTS = ('zookeeper-1.local', 'zookeeper-2.local')
要将ZooKeeper客户端绑定到根命名空间之外的命名空间,请添加一个包含命名空间的ZOOKEEPER_SETTINGS_NAMESPACE设置。
将以下内容添加到您的应用程序(例如manage.py)的入口点之前,在访问django.conf.settings的任何属性之前
import menagerie menagerie.configure()
将日志配置为输出menagerie命名空间的DEBUG级别消息可能有助于跟踪您在配置应用程序时可能遇到的任何错误。
存储
设置存储设计得尽可能简单,仅使用单个树中的节点来表示所有设置。
不会递归遍历树 - 所有设置必须存储为共享根节点的直接子节点,默认为 / 或您的ZooKeeper集群/客户端命名空间根。
例如,以下ZooKeeper中的节点名称和值的树
/DEBUG: true /INTERNAL_IPS: ['127.0.0.1', '192.168.0.1']
…将产生以下设置
settings.DEBUG == True settings.INTERNAL_IPS == ['127.0.0.1', '192.168.0.1']
反序列化器不会合并复杂类型,例如映射或序列 - 要么返回从ZooKeeper节点数据中读取的值,要么返回ZooKeeper树中不存在值的默认值。
名称有效作为ZooKeeper节点名称但在Python中有特定语言含义(例如,包含.或-字符的名称)仍可使用,但需要使用设置持有者的 getattr 来访问,如下所示
getattr(settings, 'MY-SPECIAL-SETTING')
运行测试
可以使用 make test 运行测试套件。
套件需要工作状态的ZooKeeper安装,其路径可以使用 ZOOKEEPER_PATH 环境变量指定。如果您还没有ZooKeeper的安装,运行 make zookeeper 将创建一个默认路径。
项目详细信息
menagerie-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e61787abe4b843c8e4c079fe54dc9c59f45cd16a10e8c5b562ee08b598b84aac |
|
MD5 | e2efbf260fb8db195e817d3b05a53111 |
|
BLAKE2b-256 | ce6f4cfd2680091ad5023f87ca583ba30490f85c4aea9d7b60aa00179575d784 |