当前位置: 首页>>代码示例>>Python>>正文


Python zookeeper.close函数代码示例

本文整理汇总了Python中zookeeper.close函数的典型用法代码示例。如果您正苦于以下问题:Python close函数的具体用法?Python close怎么用?Python close使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了close函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: watch_session

 def watch_session(handle, event_type, state, path):
     assert event_type == zookeeper.SESSION_EVENT
     assert not path
     if state == zookeeper.CONNECTED_STATE:
         if self.handle is None:
             self.handle = handle
             for watch in self.watches.clear():
                 self._watch(watch)
             for path, data in list(self.ephemeral.items()):
                 zookeeper.create(self.handle, path, data['data'],
                                  data['acl'], data['flags'])
         else:
             assert handle == self.handle
         connected.set()
         logger.info('connected %s', handle)
     elif state == zookeeper.CONNECTING_STATE:
         connected.clear()
     elif state == zookeeper.EXPIRED_SESSION_STATE:
         connected.clear()
         if self.handle is not None:
             zookeeper.close(self.handle)
         self.handle = None
         init()
     else:
         logger.critical('unexpected session event %s %s', handle, state)
开发者ID:jmkacz,项目名称:zc.zk,代码行数:25,代码来源:__init__.py

示例2: testhandlereuse

    def testhandlereuse(self):
        """
        Test a) multiple concurrent connections b) reuse of closed handles
        """
        cv = threading.Condition()
        self.connected = False
        def connection_watcher(handle, type, state, path):
            cv.acquire()
            self.connected = True
            self.assertEqual(zookeeper.CONNECTED_STATE, state)
            self.handle = handle
            cv.notify()
            cv.release()

        cv.acquire()
        handles = [ zookeeper.init(self.host) for i in xrange(10) ]
        ret = zookeeper.init(self.host, connection_watcher)
        cv.wait(15.0)
        cv.release()
        self.assertEqual(self.connected, True, "Connection timed out to " + self.host)
        self.assertEqual(True, all( [ zookeeper.state(handle) == zookeeper.CONNECTED_STATE for handle in handles ] ),
                         "Not all connections succeeded")
        oldhandle = handles[3]
        zookeeper.close(oldhandle)
        newhandle = zookeeper.init(self.host)

        # This assertion tests *internal* behaviour; i.e. that the module
        # correctly reuses closed handles. This is therefore implementation
        # dependent.
        self.assertEqual(newhandle, oldhandle, "Didn't get reused handle")
开发者ID:gerritjvv,项目名称:bigstreams,代码行数:30,代码来源:connection_test.py

示例3: connection_handler

 def connection_handler(handle, type, state, path):
   if self._zh != handle:
     try:
       # latent handle callback from previous connection
       zookeeper.close(handle)
     except:
       pass
     return
   if self._stopped.is_set():
     return
   if self._watch:
     self._watch(self, type, state, path)
   if state == zookeeper.CONNECTED_STATE:
     self._logger('Connection started, setting live.')
     self._live.set()
     self._clear_completions()
   elif state == zookeeper.EXPIRED_SESSION_STATE:
     self._logger('Session lost, clearing live state.')
     self._live.clear()
     self._zh = None
     self._init_count = 0
     self.reconnect()
   else:
     self._logger('Connection lost, clearing live state.')
     self._live.clear()
开发者ID:JoeEnnever,项目名称:commons,代码行数:25,代码来源:client.py

示例4: post

    def post(self):
	request_dict = self.request.arguments
	node_key = (request_dict['node_tree'])[0]

        cluster_name  = (request_dict['cluster_name'])[0]
        zk=zookeeper.init(self.zk_connect(cluster_name))

        def get_node(node_key):
    	    """获取子节点生成快照存到MySQL"""
            if node_key == "/":
                for node in zookeeper.get_children(zk,node_key):
                     key =  "/" + node
                     if (zookeeper.get(zk,key)[1])['numChildren'] > 0:
                          get_node(key)
                     else:
            	          value = (zookeeper.get(zk,key))[0]
    		          create_time = time.time()
    		          table = ZdSnapshot(cluster_name= cluster_name ,path=key , data=value ,create_time=self.GetNowTime())
    		          table.save()
            else:
                for node in zookeeper.get_children(zk,node_key):
                     key =  node_key + "/" + node
                     if (zookeeper.get(zk,key)[1])['numChildren'] > 0:
                          get_node(key)
                     else:
            	          value = (zookeeper.get(zk,key))[0]
    		          create_time = time.time()
    		          table = ZdSnapshot(cluster_name= cluster_name,path=key , data=value ,create_time=self.GetNowTime())
    		          table.save()
	get_node(node_key)
	self.write("生成快照成功!!!!!")
        zookeeper.close(zk)
开发者ID:xiaoyang2008mmm,项目名称:zkdash,代码行数:32,代码来源:views.py

示例5: connect

    def connect(self, timeout = None):
        '''Connects to the zookeeper server'''
        # if no timeout provided, thake the configured one
        if timeout is None:
            timeout = self._timeout

        # check, if we're already connected
        if self._handle is not None and not self.is_connected():
            raise RuntimeError('Already connected')
            return

        condition = threading.Condition()
        def connection_watch(handle, type, state, path):
            condition.acquire()
            condition.notify()
            condition.release()

        # try to connect
        condition.acquire()
        self._handle = zookeeper.init(
			','.join(self._servers),
            connection_watch,
            self._timeout * 1000)
        condition.wait(self._timeout)
        condition.release()

        if zookeeper.state(self._handle) != zookeeper.CONNECTED_STATE:
            zookeeper.close(self._handle)
            raise RuntimeError(
                'unable to connect to %s ' % (' or '.join(self._servers)))
        zookeeper.set_watcher(self._handle, self.__global_watch)
开发者ID:JeremiahDJordan,项目名称:zkpy,代码行数:31,代码来源:connection.py

示例6: main

def main():
	from optparse import OptionParser as OptionParser

	parser = OptionParser()
	parser.add_option('-v', '--verbose', action="store_true", dest="flag_verbose",
		help='Triggers debugging traces')

	(options, args) = parser.parse_args(sys.argv)

	# Logging configuration
	if options.flag_verbose:
		logging.basicConfig(
			format='%(asctime)s %(message)s',
			datefmt='%m/%d/%Y %I:%M:%S',
			level=logging.DEBUG)
	else:
		logging.basicConfig(
			format='%(asctime)s %(message)s',
			datefmt='%m/%d/%Y %I:%M:%S',
			level=logging.INFO)

	if len(args) < 2:
		raise ValueError("not enough CLI arguments")

	ns = args[1]
	cnxstr = load_config().get(ns, 'zookeeper')

	zookeeper.set_debug_level(zookeeper.LOG_LEVEL_INFO)
	zh = zookeeper.init(cnxstr)
	zookeeper.create(zh, PREFIX, '', acl_openbar, 0)
	create_tree(zh, boot_tree())
	init_namespace(zh, ns)
	zookeeper.close(zh)
开发者ID:amogrid,项目名称:redcurrant,代码行数:33,代码来源:zk-bootstrap.py

示例7: reestablish_connection

 def reestablish_connection(self):
   """ Checks the connection and resets it as needed. """
   try:
     zookeeper.close(self.handle)
   except zookeeper.ZooKeeperException, close_exception:
     logging.error("Exception when closing ZK connection {0}".\
       format(close_exception))
开发者ID:deepy,项目名称:appscale-debian,代码行数:7,代码来源:zktransaction.py

示例8: close

 def close(self):
   """ Stops the thread that cleans up failed transactions and closes its
   connection to Zookeeper.
   """
   logging.info("Closing ZK connection")
   self.stop_gc()
   zookeeper.close(self.handle)
开发者ID:deepy,项目名称:appscale-debian,代码行数:7,代码来源:zktransaction.py

示例9: test_logging

    def test_logging(self):
        handler = zope.testing.loggingsupport.InstalledHandler(
            'ZooKeeper')
        try:
            handle = zookeeper.init('zookeeper.example.com:2181')
            zookeeper.close(handle)
        except:
            pass

        wait(lambda : [r for r in handler.records
                       if 'environment' in r.getMessage()]
             )
        handler.clear()

        # Test that the filter for the "Exceeded deadline by" noise works.
        # cheat and bypass zk by writing to the pipe directly.
        os.write(zc.zk._logging_pipe[1],
                 '2012-01-06 16:45:44,572:43673(0x1004f6000):[email protected]'
                 '[email protected]: Exceeded deadline by 27747ms\n')
        wait(lambda : [r for r in handler.records
                       if ('Exceeded deadline by' in r.getMessage()
                           and r.levelno == logging.DEBUG)
                       ]
             )

        self.assert_(not [r for r in handler.records
                          if ('Exceeded deadline by' in r.getMessage()
                              and r.levelno == logging.WARNING)
                          ])

        handler.uninstall()
开发者ID:jmkacz,项目名称:zc.zk,代码行数:31,代码来源:tests.py

示例10: close

 def close(self):
     """Close underlying zookeeper connections."""
     zookeeper.close(self.handle)
     self.handle = None
     self.session_id = -1
     self.session_password = ""
     self.connected = False
开发者ID:jmullins,项目名称:trpycore,代码行数:7,代码来源:client.py

示例11: connect

 def connect(self, first=False):
     try:
         if self._handler:
             zookeeper.close(self._handler)
     except:
         pass
     self._handler = Connection(self._name, self.register_watch_cb, first, self.register_node_cb, *self._args, **self._kwargs).handler
开发者ID:fifar,项目名称:mysql_proxy,代码行数:7,代码来源:zk_helper.py

示例12: close

 def close(self):
     """
     close the handle. potentially a blocking call?
     """
     if self._zhandle is not None:
         zookeeper.close(self._zhandle)
         # if closed successfully
         self._zhandle = None
开发者ID:devcamcar,项目名称:python-evzookeeper,代码行数:8,代码来源:__init__.py

示例13: close

 def close(self):
     if self.connected:
         try:
             zookeeper.close(self.handle)
         except:
             self.log.exception('close')
         self.connected = False
         self.handle = None
开发者ID:F-Secure,项目名称:distci,代码行数:8,代码来源:sync.py

示例14: close

def close():
    global handle
    global init_flag
    global connected
    if not init_flag: return
    zookeeper.close(handle)
    init_flag = False
    connected = False
开发者ID:snlei,项目名称:jafka,代码行数:8,代码来源:jafka-watcher.py

示例15: _safe_close

 def _safe_close(self):
   if self._zh is not None:
     zh, self._zh = self._zh, None
     try:
       zookeeper.close(zh)
     except zookeeper.ZooKeeperException:
       # the session has been corrupted or otherwise disconnected
       pass
     self._live.clear()
开发者ID:BabyDuncan,项目名称:commons,代码行数:9,代码来源:client.py


注:本文中的zookeeper.close函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。