python-asyncio

    1热度

    1回答

    考虑一个单线程的Python程序。名为“first”的协程在I/O上被阻塞。随后的指令是“等待第二个”。协程“第二”保证立即执行,直到它阻止I/O?或者,在“second”被调用之前,“first”是否可以继续执行(由于I/O操作完成)?

    2热度

    1回答

    我写这段代码: import asyncio import threading from aiohttp import ClientSession async def fetch(url): async with ClientSession() as session: async with session.get(url) as response: re

    6热度

    2回答

    我有一个list的awaitables,我想传递给asyncio.AbstractEventLoop,但我需要限制对第三方API的请求。 我想避免一些等待将future传递到循环,因为在此期间我阻止了我的循环等待。我有什么选择? Semaphores和ThreadPools将限制同时运行多少个,但那不是我的问题。我需要将我的请求限制到100 /秒,但完成请求需要多长时间无关紧要。 这是一个非常简洁

    5热度

    1回答

    未决的所有协同程序我有一个生产代码,严重使用asyncio.semaphore模块怀疑有死锁问题。 我已经找到了一些如何附加到unix信号运行python代码的解决方案,使用ipdb.set_trace()进行调试,并在asyncio.Task.all_tasks()上列出了事件循环中的所有任务。我是否可以进一步检查每个任务的堆栈框架,或查看目前正在等待期货的每条协同程序行ipdb?

    5热度

    2回答

    我在写蜘蛛来抓取网页。我知道asyncio也许是我的最佳选择。所以我使用协程来异步处理工作。现在我抓住了我的头如何通过键盘中断退出程序。所有作品完成后,该程序可能会关闭。源代码可以在python 3.5中运行,并在下面注明。 import asyncio import aiohttp from contextlib import suppress class Spider(object):

    1热度

    2回答

    我需要每秒调用一次任务(例如)来轮询某个硬件上的某些传感器数据。在单元测试中,我想要做的就是检查是否调用了正确的方法,并且错误(例如传感器已被炸毁或消失)确实被捕获。 这里是一个玩具例如模仿真正的代码: import pytest import asyncio import mock async def ook(func): while True: await as

    1热度

    1回答

    让我们考虑含有ASYNCIO环和一个异步协程类的下面的例子: import asyncio class Async: def __init__(self): self.loop=asyncio.get_event_loop() async def function(self, word): print(word) await async

    0热度

    1回答

    while True: if (len(queue) > 0): blocking_send_from_queue() there_is_something_to_send = False else: break data = non_blocking_recv() queue = process(queue

    1热度

    1回答

    我想使用协程来抓取和解析网页。我写了一个样本和测试。该程序可以在Ubuntu 16.04的python 3.5中运行良好,当所有作品完成后它将退出。源代码如下。 import aiohttp import asyncio from bs4 import BeautifulSoup async def coro(): coro_loop = asyncio.get_event_lo

    -1热度

    1回答

    我有一个类方法coroutine类,并从一个用户同时获得多个请求,假设用户在t = 0进行函数调用,并且函数需要10毫秒的过程,用户在t = 3毫秒时进行另一次异步调用,然后在t = 10毫秒时响应请求1,并且在t = 20ms时响应请求2,所以请求2的转换时间为17毫秒,但是我想要下面的场景, 如果请求1来自t = 0ms的一个用户,并且在请求2进入t = 3ms之前运行3ms,那么调用1必须被