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


Python trollius.set_event_loop函数代码示例

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


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

示例1: run

    def run(self, command, *args, **kwargs):
        self_ = self

        class SubprocessProtocol(asyncio.SubprocessProtocol):
            def pipe_data_received(self, fd, data):
                self_._write(fd, re.sub(r'(\r?\n)+', r'\1', data))

            def connection_lost(self, exc):
                loop.stop()  # end loop.run_forever()

        if os.name == 'nt':
            # For subprocess' pipes on Windows
            loop = asyncio.ProactorEventLoop()
            asyncio.set_event_loop(loop)
        else:
            loop = asyncio.get_event_loop()

        try:
            if kwargs.pop('shell', False):
                proc = loop.subprocess_shell(SubprocessProtocol, command)
            else:
                proc = loop.subprocess_exec(SubprocessProtocol, *command)

            def _refresh_gui():
                refresh_gui()
                loop.call_soon(_refresh_gui)

            loop.call_soon(_refresh_gui)
            transport, protocol = loop.run_until_complete(proc)
            loop.run_forever()
        except Exception, exception:
            self._write(2, str(exception))
开发者ID:wheeler-microfluidics,项目名称:pygtkhelpers,代码行数:32,代码来源:command_textview.py

示例2: run

 def run(self, driver, time_out):
     self.loop = new_event_loop()
     set_event_loop(self.loop)
     ensure_future(self.control_loop(driver, time_out))
     self.loop.run_forever()
     self.loop.close()
     return (self.distance_to_goal, self.left_velocity, self.right_velocity)
开发者ID:dljohnso,项目名称:swarm_robot,代码行数:7,代码来源:robot_controller2.py

示例3: handler

def handler(event, contest):
    logger.info("Start!")

    executor = ThreadPoolExecutor(max_workers=1000)
    main_loop = asyncio.new_event_loop()
    main_loop.set_default_executor(executor)
    asyncio.set_event_loop(main_loop)

    poll = Poll(main_loop)
    cal = poll.cal
    update_and_delete = UpdateAndDelete(main_loop, executor)

    table = event['table']
    queue_url = event['queueUrl']
    message_count = event['messageCount']

    poll.messages(sqs, queue_url, message_count)

    logger.info("Receive API count: {}".format(poll.fetch_count))
    logger.info("Fetched messages: {}".format(poll.message_count))

    update_and_delete.execute(sqs_client, db, queue_url, table, cal.stats)

    logger.info("Update API count: {}".format(update_and_delete.update_count))
    logger.info("Delete API count: {}".format(update_and_delete.delete_count))
    logger.info("Delete Message count: {}".format(
        update_and_delete.deleted_message_count))

    main_loop.close()
    executor.shutdown()

    return "Lambda job finished successfully."
开发者ID:yxd-hde,项目名称:lambda-poll-update-delete,代码行数:32,代码来源:main.py

示例4: test_default_exc_handler_coro

    def test_default_exc_handler_coro(self):
        self.loop._process_events = mock.Mock()
        self.loop.set_debug(True)
        asyncio.set_event_loop(self.loop)

        @asyncio.coroutine
        def zero_error_coro():
            yield From(asyncio.sleep(0.01, loop=self.loop))
            1 / 0

        # Test Future.__del__
        with mock.patch("trollius.base_events.logger") as log:
            fut = asyncio.async(zero_error_coro(), loop=self.loop)
            fut.add_done_callback(lambda *args: self.loop.stop())
            self.loop.run_forever()
            fut = None  # Trigger Future.__del__ or futures._TracebackLogger
            support.gc_collect()
            if PY34:
                # Future.__del__ in Python 3.4 logs error with
                # an actual exception context
                log.error.assert_called_with(
                    test_utils.MockPattern(".*exception was never retrieved"),
                    exc_info=(ZeroDivisionError, MOCK_ANY, MOCK_ANY),
                )
            else:
                # futures._TracebackLogger logs only textual traceback
                log.error.assert_called_with(
                    test_utils.MockPattern(".*exception was never retrieved.*ZeroDiv"), exc_info=False
                )
开发者ID:JioCloudCompute,项目名称:trollius,代码行数:29,代码来源:test_base_events.py

示例5: test_log_slow_callbacks

    def test_log_slow_callbacks(self, m_logger):
        def stop_loop_cb(loop):
            loop.stop()

        @asyncio.coroutine
        def stop_loop_coro(loop):
            yield From(None)
            loop.stop()

        asyncio.set_event_loop(self.loop)
        self.loop.set_debug(True)
        self.loop.slow_callback_duration = 0.0

        # slow callback
        self.loop.call_soon(stop_loop_cb, self.loop)
        self.loop.run_forever()
        fmt = m_logger.warning.call_args[0][0]
        args = m_logger.warning.call_args[0][1:]
        self.assertRegex(fmt % tuple(args), "^Executing <Handle.*stop_loop_cb.*> " "took .* seconds$")

        # slow task
        asyncio.async(stop_loop_coro(self.loop), loop=self.loop)
        self.loop.run_forever()
        fmt = m_logger.warning.call_args[0][0]
        args = m_logger.warning.call_args[0][1:]
        self.assertRegex(fmt % tuple(args), "^Executing <Task.*stop_loop_coro.*> " "took .* seconds$")
开发者ID:JioCloudCompute,项目名称:trollius,代码行数:26,代码来源:test_base_events.py

示例6: main

def main():
    asyncio.set_event_loop(None)
    if args.iocp:
        from trollius.windows_events import ProactorEventLoop
        loop = ProactorEventLoop()
    else:
        loop = asyncio.new_event_loop()
    sslctx = None
    if args.tls:
        import ssl
        # TODO: take cert/key from args as well.
        here = os.path.join(os.path.dirname(__file__), '..', 'tests')
        sslctx = asyncio.SSLContext(ssl.PROTOCOL_SSLv23)
        sslctx.options |= ssl.OP_NO_SSLv2
        sslctx.load_cert_chain(
            certfile=os.path.join(here, 'ssl_cert.pem'),
            keyfile=os.path.join(here, 'ssl_key.pem'))
    cache = Cache(loop)
    task = asyncio.streams.start_server(cache.handle_client,
                                        args.host, args.port,
                                        ssl=sslctx, loop=loop)
    svr = loop.run_until_complete(task)
    for sock in svr.sockets:
        logging.info('socket %s', sock.getsockname())
    try:
        loop.run_forever()
    finally:
        loop.close()
开发者ID:JioCloudCompute,项目名称:trollius,代码行数:28,代码来源:cachesvr.py

示例7: run

def run(driver, time_out):
    loop = new_event_loop()
    set_event_loop(loop)
    ensure_future(control_loop(driver, time_out, loop))
    loop.run_forever()
    loop.close()
    return (distance_to_goal, left_velocity, right_velocity)
开发者ID:dljohnso,项目名称:swarm_robot,代码行数:7,代码来源:robot_controller.py

示例8: set_event_loop

 def set_event_loop(self):
     self.loop = asyncio.new_event_loop()
     asyncio.set_event_loop(self.loop)
     self.events = asyncio.Queue(loop=self.loop)
     self.set_exception_handler()
     if self.loglevel is not None and self.loglevel <= logging.DEBUG:
         self.loop.set_debug(True)
     return self.loop
开发者ID:tracyone,项目名称:pyclewn_linux,代码行数:8,代码来源:vim.py

示例9: test_streamreader_constructor

    def test_streamreader_constructor(self):
        self.addCleanup(asyncio.set_event_loop, None)
        asyncio.set_event_loop(self.loop)

        # Tulip issue #184: Ensure that StreamReaderProtocol constructor
        # retrieves the current loop if the loop parameter is not set
        reader = asyncio.StreamReader()
        self.assertIs(reader._loop, self.loop)
开发者ID:JioCloudCompute,项目名称:trollius,代码行数:8,代码来源:test_streams.py

示例10: test_tb_logger_exception_unretrieved

 def test_tb_logger_exception_unretrieved(self, m_log):
     self.loop.set_debug(True)
     asyncio.set_event_loop(self.loop)
     fut = asyncio.Future(loop=self.loop)
     fut.set_exception(RuntimeError("boom"))
     del fut
     test_utils.run_briefly(self.loop)
     support.gc_collect()
     self.assertTrue(m_log.error.called)
开发者ID:balagopalraj,项目名称:clearlinux,代码行数:9,代码来源:test_futures.py

示例11: main

def main():
    if os.name == 'nt':
        loop = asyncio.ProactorEventLoop()
        asyncio.set_event_loop(loop)
    else:
        loop = asyncio.get_event_loop()
    loop.run_until_complete(start(
        'sleep 2; wc', input=[b'foo bar baz\n'*300 for i in range(100)]))
    loop.close()
开发者ID:JioCloudCompute,项目名称:trollius,代码行数:9,代码来源:subprocess_shell.py

示例12: add_task

    def add_task(self, key, task, no_cache=False):
        if not no_cache:
            task_cache = self._get_cache(key)
            if task_cache is not None:
                return TaskGetter(task_cache)
        self._tasks[key] = task
        aio.set_event_loop(self.loop)
        self.loop.call_soon_threadsafe(aio.async, self.queue.put(task))

        return TaskGetter(task)
开发者ID:PyWilhelm,项目名称:EDRIS_DS,代码行数:10,代码来源:DymolaBuilder.py

示例13: execute

    def execute(self, sqs, queue_url, ids):
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
        loop.set_default_executor(self.executor)

        id_groups = group_by_10(ids)
        tasks = []
        for id_group in id_groups:
            tasks.append(self._one_request(loop, sqs, queue_url, id_group))
        loop.run_until_complete(asyncio.wait(tasks))
开发者ID:yxd-hde,项目名称:lambda-poll-update-delete,代码行数:10,代码来源:delete.py

示例14: _basetest_open_connection_no_loop_ssl

    def _basetest_open_connection_no_loop_ssl(self, open_connection_fut):
        try:
            reader, writer = self.loop.run_until_complete(open_connection_fut)
        finally:
            asyncio.set_event_loop(None)
        writer.write(b'GET / HTTP/1.0\r\n\r\n')
        f = reader.read()
        data = self.loop.run_until_complete(f)
        self.assertTrue(data.endswith(b'\r\n\r\nTest message'))

        writer.close()
开发者ID:balagopalraj,项目名称:clearlinux,代码行数:11,代码来源:test_streams.py

示例15: __init__

 def __init__(self, instances=4):
     logging.warn('init dymola builder')
     DymolaBuilder._initial_paths()
     self.dymola_instances = [start_dymola() for _ in range(instances)]
     self.loop = aio.get_event_loop()
     aio.set_event_loop(self.loop)
     self.queue = aio.Queue(maxsize=0, loop=self.loop)
     arguments = (self.queue, self.loop, self.dymola_instances)
     self.main = Thread(target=main_event_loop, args=arguments)
     self.main.start()
     logging.warn('started thread loop asyncio')
开发者ID:PyWilhelm,项目名称:EDRIS_DS,代码行数:11,代码来源:DymolaBuilder.py


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