205得票8回答
我该如何在asyncio中使用requests?

我希望在asyncio中执行并发的http请求任务,但我发现python-requests会阻塞asyncio的事件循环。我已经找到aiohttp,但它无法使用http代理提供http请求服务。 因此,我想知道是否有一种方法可以利用asyncio进行异步http请求。

117得票8回答
运行时错误:在async + apscheduler中的线程中没有当前事件循环。

我有一个异步函数,需要每N分钟使用apscheduler运行它。下面是Python代码:URL_LIST = ['<url1>', '<url2>', '<url2>', ] def ...

110得票3回答
学习asyncio:“协程未被等待”警告错误

我正在尝试学习在Python中使用asyncio优化脚本。我的代码示例返回一个coroutine was never awaited警告,你能帮助理解并找到解决方法吗?import time import datetime import random import asyncio impo...

96得票6回答
我该如何将一个同步函数包装成异步协程?

我正在使用aiohttp构建一个API服务器,将TCP请求发送到另一个服务器。发送TCP请求的模块是同步的,对于我的目的来说是一个黑匣子。因此,我的问题是这些请求会阻塞整个API。我需要一种方法来在异步协程中包装模块请求,以避免阻塞API的其他部分。 因此,只是以 sleep 作为简单示例,...

78得票3回答
如何将Python的asyncio与线程结合使用?

我已经成功使用Python asyncio和aiohttp构建了一个RESTful微服务,它监听POST事件以从各种提供者收集实时事件。然后,它构建了一个嵌套的defaultdict/deque结构来缓存最近24小时的事件。 现在,我想定期将该结构检查点到磁盘上,最好使用pickle。由于内...

68得票5回答
如何在不使用await的情况下调用异步函数?

我在aiohttp应用程序中有一个控制器操作。async def handler_message(request): try: content = await request.json() perform_message(x,y,z) exce...

50得票4回答
aiohttp: 设置每秒最大请求数

我如何在客户端使用aiohttp设置每秒最大请求数(限制它们)?

38得票1回答
运行时警告:启用tracemalloc以获取使用asyncio.sleep时的对象分配回溯信息。

我试图使用信号量来控制异步请求,以控制对目标主机的请求,但我遇到了以下错误,我认为这意味着我的 asycio.sleep() 实际上没有休眠。 我该如何解决?我想为每个目标URL添加延迟以控制请求。 错误:RuntimeWarning: coroutine 'sleep' was never ...

36得票5回答
aiohttp:限制并发请求速率

API通常有速率限制,用户必须遵循。例如,每秒50个请求。连续请求需要0.5-1秒钟的时间,因此太慢而无法接近该限制。然而,使用aiohttp进行并行请求会超过速率限制。 为了以允许的最快速度轮询API,需要对并发调用进行速率限制。 到目前为止我找到的例子大致如下所示:session.ge...

36得票2回答
Python - 尝试使用意外的MIME类型解码JSON

最近我因为无法在asyncio循环中使用requests而转换成了aiohttp。转换很完美,一切都很好,除了一个问题:我的控制台充满了 Attempt to decode JSON with unexpected mimetype: 和 Attempt to decode JSON ...