未知
menagerie的Python项目详细描述
menagerie - (n.) a place where animals are kept and trained especially for exhibition
动物园管理员支持的django设置持有者。
基本用法
menagerie.configurehelper函数提供一个方法来引导 Django设置使用常规方法已经可用的设置(通过 DJANGO_SETTINGS_MODULE环境变量),但使用当前的设置 在ZooKeeper中覆盖这些默认值。
要配置应用程序,
在django设置文件中添加ZOOKEEPER_HOSTS设置 包括要连接的ZooKeeper集成成员的网络地址 作为一个列表或元组。例如:
ZOOKEEPER_HOSTS=('zookeeper-1.local','zookeeper-2.local')
要将zookeeper客户端绑定到根命名空间以外的命名空间, 添加包含命名空间的ZOOKEEPER_SETTINGS_NAMESPACE设置。
将以下内容添加到应用程序的入口点(例如 manage.py)在访问django.conf.settings的任何属性之前:
importmenageriemenagerie.configure()
将日志记录配置为输出DEBUG级别可能会有所帮助 用于menagerie命名空间的消息,以跟踪可能出现的任何错误 配置应用程序时遇到。
储存
设置存储被设计成尽可能简单,并且只使用 一棵树中的节点表示所有设置。
树不是递归遍历的–所有设置都必须存储为 共享根节点的直接子节点,默认为/或 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节点名称有效但具有特定语言的名称 python中的语义(例如,包含.或^{tt11}的名称$ 字符)仍然可以使用,但需要使用^{tt12}访问$ 在设置保持架上,如下所示:
getattr(settings,'MY-SPECIAL-SETTING')
运行测试
测试套件可以使用make test运行。
该套件需要一个运行中的zookeeper安装,其路径可以是 使用ZOOKEEPER_PATH环境变量指定。如果你不知道 已经安装了zookeeper,运行make zookeeperwill 在默认路径所在的位置创建一个。