本文整理汇总了Python中pymongo.master_slave_connection.MasterSlaveConnection.__init__方法的典型用法代码示例。如果您正苦于以下问题:Python MasterSlaveConnection.__init__方法的具体用法?Python MasterSlaveConnection.__init__怎么用?Python MasterSlaveConnection.__init__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pymongo.master_slave_connection.MasterSlaveConnection
的用法示例。
在下文中一共展示了MasterSlaveConnection.__init__方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from pymongo.master_slave_connection import MasterSlaveConnection [as 别名]
# 或者: from pymongo.master_slave_connection.MasterSlaveConnection import __init__ [as 别名]
def __init__(self, master, slaves=[]):
""" The MasterSlaveConnection is a wrapper around the
pymongo.master_slave_connection implementation. The constructor accepts
the connection parameter for the master MongoDB server and a non-empty
list of connection parameters for one or more slaves. The connection
parameters are expressed as a dictionary where the keys match the
signature of the constructor of a standard
pymongo.connection.Connection instance ('host', 'port' etc.). For the
'slaves' it is not necessary to specify the 'slave_okay' parameter
(will be added internally automatically).
The purpose of the MasterSlaveConnection is to hide a master-slave
setup with one master and several slave servers. The slave
server(s) will be used for read and write will be made to the
master (and re-synced to the slave automatically as part of the
master-slave setup).
"""
# Run both inits. MongoKitConnection specific one. Then the Pymongo one at the end
MongoKitConnection.__init__(self)
# I am the master
if not isinstance(master, dict):
raise TypeError('"master" must be a dict containing pymongo.Connection parameters')
master_connection = PymongoConnection(**master)
# You are my dirty slaves
if not slaves:
raise ValueError('You must specify at least one slave connection')
slave_connections = list()
for slave in slaves:
if not isinstance(slave, dict):
raise TypeError('"slaves" must be list of dicts containing pymongo.Connection parameters')
slave['slave_okay'] = True
slave_connections.append(PymongoConnection(**slave))
# Specifying that it should use the pymongo init
PymongoMasterSlaveConnection.__init__(self, master_connection, slave_connections)