Example #1
0
 def __init__(self, member_id, parsed_url, options):
     super(BaseZooKeeperDriver, self).__init__()
     options = utils.collapse(options, exclude=['hosts'])
     self._options = options
     self._member_id = member_id
     self.timeout = int(options.get('timeout', '10'))
     self._namespace = options.get('namespace', self.TOOZ_NAMESPACE)
Example #2
0
 def __init__(self, member_id, parsed_url, options):
     super(BaseZooKeeperDriver, self).__init__()
     options = utils.collapse(options, exclude=['hosts'])
     self._options = options
     self._member_id = member_id
     self.timeout = int(options.get('timeout', '10'))
     self._namespace = options.get('namespace', self.TOOZ_NAMESPACE)
Example #3
0
 def test_custom_selector(self):
     ex = {
         'a': [1, 2, 3],
     }
     c_ex = utils.collapse(ex,
                           item_selector=lambda items: items[0])
     self.assertEqual({'a': 1}, c_ex)
Example #4
0
 def __init__(self, member_id, parsed_url, options):
     super(KazooDriver, self).__init__(member_id, parsed_url, options)
     options = utils.collapse(options, exclude=['hosts'])
     self.timeout = int(options.get('timeout', '10'))
     self._namespace = options.get('namespace', self.TOOZ_NAMESPACE)
     self._coord = self._make_client(parsed_url, options)
     self._timeout_exception = self._coord.handler.timeout_exception
Example #5
0
 def __init__(self, member_id, parsed_url, options):
     super(KazooDriver, self).__init__(member_id)
     options = utils.collapse(options, exclude=['hosts'])
     self.timeout = int(options.get('timeout', '10'))
     self._namespace = options.get('namespace', self.TOOZ_NAMESPACE)
     self._coord = self._make_client(parsed_url, options)
     self._timeout_exception = self._coord.handler.timeout_exception
Example #6
0
 def __init__(self, member_id, parsed_url, options):
     super(MemcachedDriver, self).__init__()
     options = utils.collapse(options)
     self._options = options
     self._member_id = member_id
     self._joined_groups = set()
     self._executor = utils.ProxyExecutor.build("Memcached", options)
     # self.host = (parsed_url.hostname or "localhost",
     #              parsed_url.port or 11211)
     self.host = []
     for one_url in parsed_url:
         tmp = (one_url.hostname or "localhost",
                one_url.port or 11211)
         self.host.append(tmp)
     default_timeout = options.get('timeout', self.DEFAULT_TIMEOUT)
     self.timeout = int(default_timeout)
     self.membership_timeout = int(options.get(
         'membership_timeout', default_timeout))
     self.lock_timeout = int(options.get(
         'lock_timeout', default_timeout))
     self.leader_timeout = int(options.get(
         'leader_timeout', default_timeout))
     max_pool_size = options.get('max_pool_size', None)
     if max_pool_size is not None:
         self.max_pool_size = int(max_pool_size)
     else:
         self.max_pool_size = None
     self._acquired_locks = []
Example #7
0
 def __init__(self, member_id, parsed_url, options):
     super(RedisDriver, self).__init__()
     options = utils.collapse(options, exclude=self.CLIENT_LIST_ARGS)
     self._parsed_url = parsed_url
     self._options = options
     self._encoding = options.get('encoding', self.DEFAULT_ENCODING)
     timeout = options.get('timeout', self.CLIENT_DEFAULT_SOCKET_TO)
     self.timeout = int(timeout)
     self.membership_timeout = float(options.get(
         'membership_timeout', timeout))
     lock_timeout = options.get('lock_timeout', self.timeout)
     self.lock_timeout = int(lock_timeout)
     namespace = options.get('namespace', self.DEFAULT_NAMESPACE)
     self._namespace = utils.to_binary(namespace, encoding=self._encoding)
     self._group_prefix = self._namespace + b"_group"
     self._beat_prefix = self._namespace + b"_beats"
     self._groups = self._namespace + b"_groups"
     self._client = None
     self._member_id = utils.to_binary(member_id, encoding=self._encoding)
     self._acquired_locks = set()
     self._joined_groups = set()
     self._executor = utils.ProxyExecutor.build("Redis", options)
     self._started = False
     self._server_info = {}
     self._scripts = {}
Example #8
0
 def __init__(self, member_id, parsed_url, options):
     super(RedisDriver, self).__init__()
     options = utils.collapse(options, exclude=self.CLIENT_LIST_ARGS)
     self._parsed_url = parsed_url
     self._options = options
     self._encoding = options.get('encoding', self.DEFAULT_ENCODING)
     timeout = options.get('timeout', self.CLIENT_DEFAULT_SOCKET_TO)
     self.timeout = int(timeout)
     self.membership_timeout = float(
         options.get('membership_timeout', timeout))
     lock_timeout = options.get('lock_timeout', self.timeout)
     self.lock_timeout = int(lock_timeout)
     namespace = options.get('namespace', self.DEFAULT_NAMESPACE)
     self._namespace = utils.to_binary(namespace, encoding=self._encoding)
     self._group_prefix = self._namespace + b"_group"
     self._beat_prefix = self._namespace + b"_beats"
     self._groups = self._namespace + b"_groups"
     self._client = None
     self._member_id = utils.to_binary(member_id, encoding=self._encoding)
     self._acquired_locks = set()
     self._joined_groups = set()
     self._executor = utils.ProxyExecutor.build("Redis", options)
     self._started = False
     self._server_info = {}
     self._scripts = {}
Example #9
0
 def __init__(self, member_id, parsed_url, options):
     super(MemcachedDriver, self).__init__()
     options = utils.collapse(options)
     self._options = options
     self._member_id = member_id
     self._joined_groups = set()
     self._executor = utils.ProxyExecutor.build("Memcached", options)
     # self.host = (parsed_url.hostname or "localhost",
     #              parsed_url.port or 11211)
     self.host = []
     for one_url in parsed_url:
         tmp = (one_url.hostname or "localhost", one_url.port or 11211)
         self.host.append(tmp)
     default_timeout = options.get('timeout', self.DEFAULT_TIMEOUT)
     self.timeout = int(default_timeout)
     self.membership_timeout = int(
         options.get('membership_timeout', default_timeout))
     self.lock_timeout = int(options.get('lock_timeout', default_timeout))
     self.leader_timeout = int(
         options.get('leader_timeout', default_timeout))
     max_pool_size = options.get('max_pool_size', None)
     if max_pool_size is not None:
         self.max_pool_size = int(max_pool_size)
     else:
         self.max_pool_size = None
     self._acquired_locks = []
Example #10
0
 def test_collapse_exclusions(self):
     ex = {
         'a': [1],
         'b': 2,
         'c': (1, 2, 3),
     }
     c_ex = utils.collapse(ex, exclude=['a'])
     self.assertEqual({'a': [1], 'c': 3, 'b': 2}, c_ex)
Example #11
0
 def test_no_collapse(self):
     ex = {
         'a': [1],
         'b': [2],
         'c': (1, 2, 3),
     }
     c_ex = utils.collapse(ex, exclude=set(six.iterkeys(ex)))
     self.assertEqual(ex, c_ex)
Example #12
0
 def test_no_collapse(self):
     ex = {
         'a': [1],
         'b': [2],
         'c': (1, 2, 3),
     }
     c_ex = utils.collapse(ex, exclude=set(six.iterkeys(ex)))
     self.assertEqual(ex, c_ex)
Example #13
0
 def test_collapse_simple(self):
     ex = {
         'a': [1],
         'b': 2,
         'c': (1, 2, 3),
     }
     c_ex = utils.collapse(ex)
     self.assertEqual({'a': 1, 'c': 3, 'b': 2}, c_ex)
Example #14
0
 def test_collapse_simple(self):
     ex = {
         'a': [1],
         'b': 2,
         'c': (1, 2, 3),
     }
     c_ex = utils.collapse(ex)
     self.assertEqual({'a': 1, 'c': 3, 'b': 2}, c_ex)
Example #15
0
 def test_collapse_exclusions(self):
     ex = {
         'a': [1],
         'b': 2,
         'c': (1, 2, 3),
     }
     c_ex = utils.collapse(ex, exclude=['a'])
     self.assertEqual({'a': [1], 'c': 3, 'b': 2}, c_ex)
Example #16
0
 def test_empty_lists(self):
     ex = {
         'a': [],
         'b': (),
         'c': [1],
     }
     c_ex = utils.collapse(ex)
     self.assertNotIn('b', c_ex)
     self.assertNotIn('a', c_ex)
     self.assertIn('c', c_ex)
Example #17
0
 def test_empty_lists(self):
     ex = {
         'a': [],
         'b': (),
         'c': [1],
     }
     c_ex = utils.collapse(ex)
     self.assertNotIn('b', c_ex)
     self.assertNotIn('a', c_ex)
     self.assertIn('c', c_ex)
Example #18
0
 def __init__(self, member_id, parsed_url, options):
     super(ConsulDriver, self).__init__(member_id, parsed_url, options)
     options = utils.collapse(options)
     self._host = parsed_url.hostname
     self._port = parsed_url.port or self.DEFAULT_PORT
     self._session_id = None
     self._session_name = encodeutils.safe_decode(member_id)
     self._ttl = int(options.get('ttl', self.DEFAULT_TTL))
     namespace = options.get('namespace', self.TOOZ_NAMESPACE)
     self._namespace = encodeutils.safe_decode(namespace)
     self._client = None
Example #19
0
 def __init__(self, member_id, parsed_url, options):
     super(Etcd3Driver, self).__init__(member_id, parsed_url, options)
     host = parsed_url.hostname or self.DEFAULT_HOST
     port = parsed_url.port or self.DEFAULT_PORT
     options = utils.collapse(options)
     timeout = int(options.get('timeout', self.DEFAULT_TIMEOUT))
     self.client = etcd3.client(host=host, port=port, timeout=timeout)
     self.lock_timeout = int(options.get('lock_timeout', timeout))
     self.membership_timeout = int(options.get(
         'membership_timeout', timeout))
     self._acquired_locks = set()
Example #20
0
 def __init__(self, member_id, parsed_url, options):
     super(EtcdDriver, self).__init__(member_id, parsed_url, options)
     host = parsed_url.hostname or self.DEFAULT_HOST
     port = parsed_url.port or self.DEFAULT_PORT
     options = utils.collapse(options)
     self.client = _Client(host=host, port=port,
                           protocol=options.get('protocol', 'http'))
     default_timeout = options.get('timeout', self.DEFAULT_TIMEOUT)
     self.lock_encoder = self.lock_encoder_cls(self.client.get_url("keys"))
     self.lock_timeout = int(options.get('lock_timeout', default_timeout))
     self._acquired_locks = set()
Example #21
0
 def __init__(self, member_id, parsed_url, options):
     super(ConsulDriver, self).__init__(member_id, parsed_url, options)
     options = utils.collapse(options)
     self._host = parsed_url.hostname
     self._port = parsed_url.port or self.DEFAULT_PORT
     self._session_id = None
     self._session_name = encodeutils.safe_decode(member_id)
     self._ttl = int(options.get('ttl', self.DEFAULT_TTL))
     namespace = options.get('namespace', self.TOOZ_NAMESPACE)
     self._namespace = encodeutils.safe_decode(namespace)
     self._client = None
Example #22
0
 def __init__(self, member_id, parsed_url, options):
     super(Etcd3Driver, self).__init__(member_id, parsed_url, options)
     host = parsed_url.hostname or self.DEFAULT_HOST
     port = parsed_url.port or self.DEFAULT_PORT
     options = utils.collapse(options)
     timeout = int(options.get('timeout', self.DEFAULT_TIMEOUT))
     self.client = etcd3.client(host=host, port=port, timeout=timeout)
     self.lock_timeout = int(options.get('lock_timeout', timeout))
     self.membership_timeout = int(
         options.get('membership_timeout', timeout))
     self._acquired_locks = set()
Example #23
0
File: etcd.py Project: rocknio/tooz
 def __init__(self, member_id, parsed_url, options):
     super(EtcdDriver, self).__init__()
     host = parsed_url.hostname or self.DEFAULT_HOST
     port = parsed_url.port or self.DEFAULT_PORT
     options = utils.collapse(options)
     self.client = _Client(host=host, port=port,
                           protocol=options.get('protocol', 'http'))
     default_timeout = options.get('timeout', self.DEFAULT_TIMEOUT)
     self.lock_encoder = self.lock_encoder_cls(self.client.get_url("keys"))
     self.lock_timeout = int(options.get('lock_timeout', default_timeout))
     self._acquired_locks = []
Example #24
0
 def __init__(self, member_id, parsed_url, options):
     super(ConsulDriver, self).__init__(member_id, parsed_url, options)
     options = utils.collapse(options)
     self._host = parsed_url.hostname
     self._port = parsed_url.port or self.DEFAULT_PORT
     self._session_id = None
     self._session_name = encodeutils.safe_decode(member_id)
     self._ttl = int(options.get('ttl', self.DEFAULT_TTL))
     namespace = options.get('namespace', self.TOOZ_NAMESPACE)
     self._namespace = encodeutils.safe_decode(namespace)
     self._acl_token = options.get('acl_token', self.ACL_TOKEN)
     # the empty group name adds a trailing / needed for lookups
     self._groups_prefix = self._paths_join(self._namespace, "groups", "")
     self._client = None
Example #25
0
 def __init__(self, member_id, parsed_url, options):
     super(Etcd3Driver, self).__init__(member_id, parsed_url, options)
     protocol = 'https' if parsed_url.scheme.endswith('https') else 'http'
     host = parsed_url.hostname or self.DEFAULT_HOST
     port = parsed_url.port or self.DEFAULT_PORT
     options = utils.collapse(options)
     ca_cert = options.get('ca_cert')
     cert_key = options.get('cert_key')
     cert_cert = options.get('cert_cert')
     timeout = int(options.get('timeout', self.DEFAULT_TIMEOUT))
     self.client = etcd3gw.client(host=host,
                                  port=port,
                                  protocol=protocol,
                                  ca_cert=ca_cert,
                                  cert_key=cert_key,
                                  cert_cert=cert_cert,
                                  timeout=timeout)
     self.lock_timeout = int(options.get('lock_timeout', timeout))
     self.membership_timeout = int(
         options.get('membership_timeout', timeout))
     self._acquired_locks = set()
Example #26
0
 def __init__(self, member_id, parsed_url, options):
     """Initialize the MySQL driver."""
     super(MySQLDriver, self).__init__(member_id, parsed_url, options)
     self._parsed_url = parsed_url
     self._options = utils.collapse(options)
Example #27
0
 def __init__(self, member_id, parsed_url, options):
     self._options = utils.collapse(options, exclude=self.EXCLUDE_OPTIONS)
     self._executor = utils.ProxyExecutor.build(self.__class__.__name__,
                                                self._options)
     super(CoordinationDriverWithExecutor,
           self).__init__(member_id, parsed_url, options)
Example #28
0
 def test_custom_selector(self):
     ex = {
         'a': [1, 2, 3],
     }
     c_ex = utils.collapse(ex, item_selector=lambda items: items[0])
     self.assertEqual({'a': 1}, c_ex)
Example #29
0
 def __init__(self, member_id, parsed_url, options):
     self._options = utils.collapse(options, exclude=self.EXCLUDE_OPTIONS)
     self._executor = utils.ProxyExecutor.build(
         self.__class__.__name__, self._options)
     super(CoordinationDriverWithExecutor, self).__init__(
         member_id, parsed_url, options)