gpt4 book ai didi

python - 如何让 python wait for "nothing",首先运行事件循环

转载 作者:行者123 更新时间:2023-12-01 00:41:02 25 4
gpt4 key购买 nike

我运行一个由网络事件运行的Python程序,并且不能在不处理心跳的情况下运行10-15秒。 (更具体地说,我使用discord.py 处理大量事件)

在一种可能的情况下,我可以使用命令将大量数据存储到数据库中,这可能会花费超过 10 到 15 秒的时间,并且会发生阻塞。

这些是数千个小型数据库调用,如果需要,我可以在这些调用之间使异步事件循环“运行其进程”。在这种情况下,如何让 python “await for Nothing”?

类似的黑客方法是等待 JavaScript 中已解决的 Promise,这会将进程放回到事件循环中,首先解决更紧迫的事件。

最佳答案

等待 asyncio.sleep(0) - is a way将控制权返回给事件循环。

尽管您可以采用另一种方式,而不是不断地调用它:运行您的阻止代码 in another thread使用 run_in_executor 并等待它完成。这样,事件循环通常会继续其进程,同时阻止后台线程中正在处理的内容。

关于python - 如何让 python wait for "nothing",首先运行事件循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57349557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com