问题标签 [aiohttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 locust 进行 aiohttp websocket 性能测试
我使用aiohttp python 库编写了 websocket 服务器。
现在我正在尝试使用locust和此代码段测试性能,但 locust 无法打开超过 2000 个连接(websocket.create_connection() 引发错误:[Errno 104] Connection reset by peer)。
我不明白问题出在哪里。是 locust 无法打开这么多连接还是 aiohttp 无法处理这么多连接(但它不会写任何错误)或者 ubuntu 会丢弃新连接(我将 ulimit 设置为 1000000,但 cpu 使用率几乎是 100%)。
python-3.x - aiohttp中request.iter_content()的等效方法是什么?
我正在编写一个小型网络爬虫,它从特定站点获取大量图像。但是,IO 速度很慢,所以我搜索了一下,发现 asyncio 和 aiohttp 可以处理 IO 绑定操作开销。我梳理了 aiohttp 文档,但在 requests 模块中找不到任何看起来可以替代 iter_content() 的函数。我需要它将图像数据写入磁盘。任何人都可以帮忙吗?
python - aiohttp:设置每秒最大请求数
如何使用 aiohttp 在客户端设置每秒最大请求数(限制它们)?
python - aiohttp 中的代理请求
我有以下代码。
当我不使用代理时,一切正常。但是当我使用代理时,程序会因该跟踪而崩溃:
可能是什么问题呢?我使用了不同的代理,所以问题一定出在代码逻辑上。
python - 使用异步服务器的长时间运行任务
我想每个人都知道如何处理 django 中长时间运行的任务:使用 celery 并放松。但是,如果我想通过 aiohttp(或 tornado)获得 websockets 的好处怎么办?
假设我有一个非常受 CPU 限制的任务,可能需要几秒钟到多 (5-10) 分钟。在 websocket 循环中处理此任务并通知用户进度似乎是个好主意。没有 ajax 请求,对短任务的响应非常快。
但另一方面,据我所知,以这种方式提供的受 CPU 限制的任务会阻塞整个线程。如果我有 10 个工人和 11 个客户想要使用应用程序,那么在第一个客户的任务完成之前,不会为第 11 个客户提供服务。
也许,我应该运行在 celery中看起来很大的任务和在主循环中看起来很小的任务?
所以,我的问题是:有没有什么好的设计模式可以用异步服务器来服务长时间运行的任务?
谢谢!
python - 如何使用 aiohttp 下载图片?
所以我有一个我正在玩的不和谐机器人来学习 Python。我有一个命令可以下载图像并编辑/合并它们,然后将编辑后的图像发送到聊天室。我以前曾经requests
这样做过,但是其中一位 discord.py 的库开发人员告诉我,我应该使用aiohttp
而不是requests
. 我找不到如何下载图像aiohttp
,我尝试了很多东西,但没有一个有效。
是我现在拥有的,但这仍然行不通。
那么,有没有办法下载图片呢?
python-3.5 - 提供使用 aiohttp 服务器下载文件的选项
如何使用 aiohttp / asyncio 提供可下载的文件?
我在用着:
只是简单地提供内容。
python - 如何跨多个服务器/工作人员管理 websocket
aiohttp内置了对websockets的支持。它非常简单并且效果很好。
文档中示例的简化版本是:
在示例中,ws
是对与客户端的 websocket 连接的引用。我可以轻松地将这些引用放入request.app
,就像@Crandel 在这里所做的那样(即全局状态),但不是在生产应用程序中,因为每个应用程序服务器(甚至每个工作人员)都会有自己的app
实例。
这有一个公认的模式吗?还有其他方法吗?
注意:我不是指会话。我指的是连接。当服务器 B 的应用程序代码中发生事件时,我想向连接到服务器 A 的客户端发送消息等。
python - Fetching multiple urls with aiohttp in Python 3.5
Since Python 3.5 introduced async with
the syntax recommended in the docs for aiohttp
has changed. Now to get a single url they suggest:
How can I modify this to fetch a collection of urls instead of just one url?
In the old asyncio
examples you would set up a list of tasks such as
I tried to combine a list like this with the approach above but failed.