问题标签 [nest-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.
python - Nest_asyncio 的正确使用/使用限制?
我正在努力将以前同步的网络服务器作为同步服务器。我的大部分功能都是同步的,我想简单地从现有代码中进行异步调用以避免异步蠕变。nest_asyncio 似乎通过使 run_until_complete 可重入来允许这样做。
但是,虽然这适用于 1 个可重入调用,但我遇到了两个死锁:
...我们失踪了
我是否正确使用了nest_asyncio?
python-3.x - 与nest_asyncio一起使用的aiohttp猴子补丁
我nest_asyncio
在我的python项目中使用过。一切都很完美,除了那个aiohttp
函数get_running_loop
有一些警告信息填满了我的所有日志。
使用aiohttp
的实现get_running_loop
类似于:
在最新版本中,他们甚至抛出异常:
但该nest_asyncio
loop
is_running
方法永远不会返回True
不阻止run_until_complete
.
我试图在像这样的其他导入之前做一个猴子补丁:
在所有导入之后,我看到这些aiohttp.helpers.get_running_loop
指向我的实现。但是 aiohttp 函数的调用仍然使用它自己的实现(因为相对导入或其他原因):
打印到日志:
我不想为此分叉所有 aiohttp 或分析 nest_asyncio 中的调用堆栈以对 aiohttp 有特殊响应。是否有可能在这里有一个简单的解决方案,比如猴子补丁,我怎样才能修补get_running_loop
在 asyncio 中使用的那个?
amazon-neptune - 遇到来自 Rasa-X 的数据库查询的 uvloop 问题?
我正在尝试从 Rasa-x 对我的亚马逊海王星数据库进行简单查询。
这是我的actions.py中的代码:
这是来自知识库.py 的代码:
但是对知识库的任何查询都会导致此错误:
我尝试使用nest_asyncio.apply,但这导致了这个错误:
ValueError: Can't patch loop of type <class 'uvloop.Loop'>
根据文档,这只是一个规则。
所以我真的不知道如何进行?
python-3.x - 带有nest_asyncio包的asyncio的异步/等待总是返回协程'get1'从未等待
大家好,我正在使用带有nest_asyncio的asyncio,但我总是得到从未等待过的协程
输出 :
<coroutine object get1 at 0x0471AD28> async.py:37: RuntimeWarning: coroutine 'get1' is never awaited
我无法理解问题所在以及解决方法是什么?
Python=3.8.6 aiohttp=3.7.3 嵌套异步=1.4.3
python - 在异步环境中缓存结果
我正在一个 FastAPI 端点工作,该端点进行 I/O 绑定操作,这是异步的以提高效率。但是,这需要时间,所以我想缓存结果以便在一段时间内重复使用它。
我目前有这个:
我正在尝试使用该cachetools
包来缓存结果,并且我尝试了类似以下的方法:
但是,这失败了,因为据我了解,该__missing__
方法是同步的,您不能从异步中的同步中调用异步。错误是:
如果我使用纯 asyncio 而不是 uvloop,则会发生类似的错误。
对于 asyncio 事件循环,我尝试过使用nest_asyncio
包,但它没有打补丁uvloop
,而且,即使将它与 asyncio 一起使用,第一次使用后服务似乎也会冻结。
你知道我怎么能完成这个吗?
python - 想要简单的python异步方法
我正在树莓派上开发一个小型媒体播放器应用程序。所以这有两个主要功能。即收音机和文件播放器。如果在下面的文件播放器中输入代码:
问题是在这个循环之后和之外的代码在子进程完成之前不起作用。如何使用 ayncio 以便获取一些 gpio 读数并在需要时退出此循环?我真的花了 8 个小时来弄清楚这个谷歌搜索。但是所有可用的教程都很难理解。
python-asyncio - 使用流为 asyncio 编写 pytest 测试用例
我正在尝试为 asyncio 函数编写一个 pytest 测试用例,该函数确实读取输出流(stderr/stdout)并修改行。我要测试的函数(再次被调用 inside asyncio.gather
)如下所示:
我写的pytest测试用例如下:
但是,当我执行这个 pytest 时,我遇到了AttributeError: 'str' object has no attribute 'read'
. 如何在处理 stdout/stderr 流时测试 asyncio 协程?
python - RuntimeError:在执行另一个任务时无法进入任务
所以我在 Spyder 上试图连接我的不和谐机器人,我正在运行这段代码:
我正面临这个错误:
似乎某些任务之间存在冲突,你们知道如何解决这个问题吗?