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


Python locks.Event类代码示例

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


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

示例1: __init__

 def __init__(self):
     self.connected = False
     self.connected_event = Event()
     self.disconnected_event = Event()
     self.presence_queue = Queue()
     self.message_queue = Queue()
     self.error_queue = Queue()
开发者ID:pubnub,项目名称:python,代码行数:7,代码来源:pubnub_tornado.py

示例2: ResolveTimeoutTestCase

class ResolveTimeoutTestCase(AsyncHTTPTestCase):
    def setUp(self):
        self.cleanup_event = Event()
        test = self

        # Dummy Resolver subclass that never finishes.
        class BadResolver(Resolver):
            @gen.coroutine
            def resolve(self, *args, **kwargs):
                yield test.cleanup_event.wait()
                # Return something valid so the test doesn't raise during cleanup.
                return [(socket.AF_INET, ("127.0.0.1", test.get_http_port()))]

        super(ResolveTimeoutTestCase, self).setUp()
        self.http_client = SimpleAsyncHTTPClient(resolver=BadResolver())

    def get_app(self):
        return Application([url("/hello", HelloWorldHandler)])

    def test_resolve_timeout(self):
        with self.assertRaises(HTTPTimeoutError):
            self.fetch("/hello", connect_timeout=0.1, raise_error=True)

        # Let the hanging coroutine clean up after itself
        self.cleanup_event.set()
        self.io_loop.run_sync(lambda: gen.sleep(0))
开发者ID:bdarnell,项目名称:tornado,代码行数:26,代码来源:simple_httpclient_test.py

示例3: test_connect_timeout

    def test_connect_timeout(self):
        timeout = 0.1

        cleanup_event = Event()
        test = self

        class TimeoutResolver(Resolver):
            async def resolve(self, *args, **kwargs):
                await cleanup_event.wait()
                # Return something valid so the test doesn't raise during shutdown.
                return [(socket.AF_INET, ("127.0.0.1", test.get_http_port()))]

        with closing(self.create_client(resolver=TimeoutResolver())) as client:
            with self.assertRaises(HTTPTimeoutError):
                yield client.fetch(
                    self.get_url("/hello"),
                    connect_timeout=timeout,
                    request_timeout=3600,
                    raise_error=True,
                )

        # Let the hanging coroutine clean up after itself. We need to
        # wait more than a single IOLoop iteration for the SSL case,
        # which logs errors on unexpected EOF.
        cleanup_event.set()
        yield gen.sleep(0.2)
开发者ID:bdarnell,项目名称:tornado,代码行数:26,代码来源:simple_httpclient_test.py

示例4: get

 def get(self):
     logging.debug("queuing trigger")
     event = Event()
     self.queue.append(event.set)
     if self.get_argument("wake", "true") == "true":
         self.wake_callback()
     yield event.wait()
开发者ID:bdarnell,项目名称:tornado,代码行数:7,代码来源:simple_httpclient_test.py

示例5: get

 def get(self):
     logging.debug("queuing trigger")
     self.queue.append(self.finish)
     if self.get_argument("wake", "true") == "true":
         self.wake_callback()
     never_finish = Event()
     yield never_finish.wait()
开发者ID:dkdenza,项目名称:tornado,代码行数:7,代码来源:simple_httpclient_test.py

示例6: test_http10_no_content_length

    def test_http10_no_content_length(self):
        # Regression test for a bug in which can_keep_alive would crash
        # for an HTTP/1.0 (not 1.1) response with no content-length.
        conn = HTTP1Connection(self.client_stream, True)
        self.server_stream.write(b"HTTP/1.0 200 Not Modified\r\n\r\nhello")
        self.server_stream.close()

        event = Event()
        test = self
        body = []

        class Delegate(HTTPMessageDelegate):
            def headers_received(self, start_line, headers):
                test.code = start_line.code

            def data_received(self, data):
                body.append(data)

            def finish(self):
                event.set()

        yield conn.read_response(Delegate())
        yield event.wait()
        self.assertEqual(self.code, 200)
        self.assertEqual(b''.join(body), b'hello')
开发者ID:Agnewee,项目名称:tornado,代码行数:25,代码来源:http1connection_test.py

示例7: test_read_until_regex_max_bytes

    def test_read_until_regex_max_bytes(self):
        rs, ws = yield self.make_iostream_pair()
        closed = Event()
        rs.set_close_callback(closed.set)
        try:
            # Extra room under the limit
            fut = rs.read_until_regex(b"def", max_bytes=50)
            ws.write(b"abcdef")
            data = yield fut
            self.assertEqual(data, b"abcdef")

            # Just enough space
            fut = rs.read_until_regex(b"def", max_bytes=6)
            ws.write(b"abcdef")
            data = yield fut
            self.assertEqual(data, b"abcdef")

            # Not enough space, but we don't know it until all we can do is
            # log a warning and close the connection.
            with ExpectLog(gen_log, "Unsatisfiable read"):
                rs.read_until_regex(b"def", max_bytes=5)
                ws.write(b"123456")
                yield closed.wait()
        finally:
            ws.close()
            rs.close()
开发者ID:bdarnell,项目名称:tornado,代码行数:26,代码来源:iostream_test.py

示例8: __init__

class QueueDriver:
    def __init__(self,**settings):
        self.settings = settings
        self._finished = Event()
        self._getters = collections.deque([])  # Futures.
        self._putters = collections.deque([])
        self.initialize(**settings)

    def initialize(self,**settings):
        pass

    def over(self):
        self._finished.set()

    def save(self):
        raise NotImplementedError()

    def get(self):
        raise NotImplementedError()

    def put(self):
        raise NotImplementedError()

    def join(self,timeout=None):
        return self._finished.wait(timeout)
开发者ID:happyAnger6,项目名称:OpenSpider,代码行数:25,代码来源:driver.py

示例9: GameHandler

class GameHandler(WebSocketHandler):
    def __init__(self, *args, **kwargs):
        super(GameHandler, self).__init__(*args, **kwargs)
        self.game = None
        self.player = None
        self.answered = Event()

    def open(self):
        pass

    def auth(self, data):
        self.game = GameLoader.load(data["game"])
        self.player = data["player"]
        self.game.handlers[self.player] = self
        self.game.introduce(self.player)

    def on_message(self, message):
        data = Dumper.load(message)
        if data["action"] == "auth":
            self.auth(data)
        if self.game is None:
            self.close()
        if data["action"] == "move":
            self.game.take_action(self.player, data)
        if data["action"] == "answer":
            self.answered.set()

    def on_close(self):
        print("WebSocket closed")

    def check_origin(self, origin):
        return True
开发者ID:nzinov,项目名称:phystech-seabattle,代码行数:32,代码来源:handler.py

示例10: start_night

 def start_night(self):
     self.look_own_card_done = Event()
     self.werewolves_wake_up_done = Event()
     yield [
         self.look_own_card(),
         self.werewolves_wake_up(),
         self.seer_wake_up(),
     ]
开发者ID:marksteve,项目名称:slash-onenight,代码行数:8,代码来源:game.py

示例11: Waiter

    class Waiter(object):
        def __init__(self):
            self.event = Event()

        @gen.coroutine
        def set(self):
            self.event.set()

        @gen.coroutine
        def wait(self):
            yield self.event.wait()
开发者ID:tomMoral,项目名称:distributed,代码行数:11,代码来源:test_actor.py

示例12: _start

    def _start(self):
        if self.scheduler.status != 'running':
            yield self.scheduler._sync_center()
            self.scheduler.start()

        start_event = Event()
        self.coroutines = [
                self.scheduler.handle_queues(self.scheduler_queue, self.report_queue),
                self.report(start_event)]

        _global_executor[0] = self
        yield start_event.wait()
        logger.debug("Started scheduling coroutines. Synchronized")
开发者ID:aterrel,项目名称:distributed,代码行数:13,代码来源:executor.py

示例13: test_idle_after_use

    def test_idle_after_use(self):
        stream = yield self.connect()
        event = Event()
        stream.set_close_callback(event.set)

        # Use the connection twice to make sure keep-alives are working
        for i in range(2):
            stream.write(b"GET / HTTP/1.1\r\n\r\n")
            yield stream.read_until(b"\r\n\r\n")
            data = yield stream.read_bytes(11)
            self.assertEqual(data, b"Hello world")

        # Now let the timeout trigger and close the connection.
        yield event.wait()
开发者ID:bdarnell,项目名称:tornado,代码行数:14,代码来源:httpserver_test.py

示例14: __init__

 def __init__(self, logger, loop, sqs_client,
              metric_prefix='emitter'):
     self.emitter = sqs_client
     self.logger = logger
     self.loop = loop
     self.metric_prefix = metric_prefix
     self.output_error = Event()
     self.state = RUNNING
     self.sender_tag = 'sender:%s.%s' % (self.__class__.__module__,
                                         self.__class__.__name__)
     self._send_queue = Queue()
     self._should_flush_queue = Event()
     self._flush_handle = None
     self.loop.spawn_callback(self._onSend)
开发者ID:CrowdStrike,项目名称:cs.eyrie,代码行数:14,代码来源:drain.py

示例15: test_read_until_regex_max_bytes_ignores_extra

 def test_read_until_regex_max_bytes_ignores_extra(self):
     rs, ws = yield self.make_iostream_pair()
     closed = Event()
     rs.set_close_callback(closed.set)
     try:
         # Even though data that matches arrives the same packet that
         # puts us over the limit, we fail the request because it was not
         # found within the limit.
         ws.write(b"abcdef")
         with ExpectLog(gen_log, "Unsatisfiable read"):
             rs.read_until_regex(b"def", max_bytes=5)
             yield closed.wait()
     finally:
         ws.close()
         rs.close()
开发者ID:bdarnell,项目名称:tornado,代码行数:15,代码来源:iostream_test.py


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