问题标签 [python-asyncio]

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.

0 投票
1 回答
645 浏览

macos - 在 MAC OS X 10.10 Yosemite 上安装支持异步的 uWSGI

我尝试按照 uWSGI 文档构建具有asyncio支持uWSGI 。我正在使用带有 Virtualenv 的OS X 10.10 Yosemite 。

首先,我使用该命令python3-config --include来获取我的 python3 包含路径。但是当我尝试使用以下命令构建 uWSGI + Asyncio 时:

我收到以下错误:

有没有人遇到过这个问题?我试过你安装在我的 virtualenv 和我的全局 python 安装中首先使用pip安装Greenlet,但我仍然得到'greenlet/greenlet.h' file not found. 有什么建议吗?

0 投票
1 回答
10308 浏览

python - 我应该在一个程序中使用两个异步事件循环吗?

我想使用 Python 3asyncio模块来创建服务器应用程序。我使用主事件循环来监听网络,当接收到新数据时,它会进行一些计算并将结果发送给客户端。“做一些计算”是否需要一个新的事件循环?还是可以使用主事件循环?

0 投票
2 回答
2195 浏览

python - 当 asyncio 任务在创建后被存储时,来自任务的异常被静音

我在一个项目中使用 asyncio,遇到了这种奇怪的行为。

出于某种原因,在调用时存储生成的任务会asyncio.async()阻止异常执行任何操作。

有人可以对这种情况有所了解吗?我需要有一种方法来捕获当前项目中的异常。

0 投票
2 回答
536 浏览

python - python3.4 Pyqt4 web请求异步

是否可以在 Pyqt4 (QwebPage) 下执行异步(如 asyncio)网络请求?

例如,如何使用此代码并行调用多个 url:

谢谢

0 投票
1 回答
13480 浏览

python - 使用 asyncio 的多个循环

是否可以使用 asyncio 进行多个循环?如果回答是肯定的,我该怎么做?我的用例是: * 我从异步网站列表中提取 url * 对于每个“子 url 列表”,我会在 async/ 中抓取它们

提取网址的示例:

如果我执行此代码,当 python 将尝试启动第二个循环时,我会遇到一个错误,女巫说一个循环已经在运行。

PS:我的模块“extractsuburls”使用 aiohttp 来执行 web 请求。

编辑:

好吧,我已经尝试过这个解决方案:

但我有这个错误:循环参数必须与未来一致

任何的想法?

0 投票
6 回答
68360 浏览

python - Python 3 中的多处理、多线程和异步

我发现在 Python 3.4 中有几个不同的多处理/线程库:multiprocessing vs threading vs asyncio

但我不知道使用哪一个或者是“推荐的”。他们做同样的事情,还是不同?如果是这样,哪一个用于什么?我想在我的计算机上编写一个使用多核的程序。但我不知道我应该学习哪个库。

0 投票
3 回答
8550 浏览

python - 为什么 asyncio 的事件循环会抑制 Windows 上的 KeyboardInterrupt?

我有这个非常小的测试程序,除了执行asyncio事件循环之外什么都不做:

当我在 Linux 上运行该程序并按Ctrl+C时,该程序将正确终止并出现KeyboardInterrupt异常。在 Windows 上按Ctrl+C什么都不做(用 Python 3.4.2 测试)。即使在 Windows 上,一个简单的无限循环也会正确time.sleep()引发:KeyboardInterrupt

为什么 asyncio 的事件循环会抑制 Windows 上的 KeyboardInterrupt?

0 投票
3 回答
2808 浏览

python - asyncio 的 loop.run_in_executor 线程安全吗?

我正在尝试 asyncio 并且必须将它与一些普通的多线程阻塞代码混合,所以我需要使用 run_in_execector 卸载执行。

asyncio文档警告说“大多数函数”不是线程安全的,这call_soon_threadsafe是唯一的线程安全函数。还有一些其他的,例如Future.add_done_callback,也被明确记录为线程安全的。然后它后面有一句话说“你可以使用 run_in_executor 在其他线程中运行回调”,但没有具体评论它的线程安全性。

run_in_executor 文档不是线程安全的,但是查看源代码,如果采用正确的代码路径,它看起来是线程安全的。

有谁知道它是否应该是线程安全的,但只是没有记录是这样的吗?

0 投票
1 回答
7882 浏览

python - 使用 asyncio 创建一个最小的 HTTP 服务器

虽然我熟悉 HTTP 服务器和事件循环,但我在掌握 Python 的asyncio的内部工作原理时遇到了一些麻烦。

作为一个学习练习,我一直在尝试编写一个最小的 HTTP 服务器(只是呼应请求方法、URI、标头和正文),而不需要额外的依赖项。我查看了aiohttpaiowsgi以供参考,但无法理解那里发生的事情 - 部分原因是协议、传输等的感知复杂性有点让人不知所措。所以我目前陷入困境,因为我不知道从哪里开始。

期望这只是几行代码来建立连接、使用传入的文本流并发送回另一个文本流是不是太天真了?

0 投票
2 回答
566 浏览

python-3.x - asyncio 实现了什么样的事件驱动进程模式?

asyncio是 python 3.4 的事件驱动核心库。我知道twisted,一个类似的lib forasyncio实现了该Reactor模式,但是实现了什么样的模式asyncio呢?