python - 使用 Python Asyncio 库同时运行恒定数量的异步任务
问题描述
我有一个程序需要发出大量 URL 请求。我不能同时发出所有请求,因为总是有新的 URL 被添加到队列中。我也不能同步运行它们,因为有些请求需要很长时间才能完成,这会减慢程序的速度。我认为最好的办法是通过在任务完成时启动新任务来确保同时运行特定数量的异步任务。
问题是除了制作大量任务并等待它们之外,我还没有找到任何其他方式来使用 asyncio 库。这是有问题的,因为总是有几个请求卡住,导致程序卡在等待状态。
我将如何解决这个问题?
解决方案
您可以使用 asyncio.wait_for() 也可以使用此https://github.com/aio-libs/async-timeout
推荐阅读
- excel - 关于数据透视表更新筛选列
- amazon-web-services - aws efs create-access-point 命令不起作用?
- python - Kivy 应用程序显示在屏幕左下方
- wpf - Why does my ToggleButton look so different when I use an Property Template?
- webpack - Custom output path in webpack when I know the specific entry path
- msdtc - MSDTC WS-AT, HTTP could not register URL https://+:2372/WsatService/. Your process does not have access rights to this namespace
- python-3.x - How can I install and import dnspython in aws-lambda?
- python - list of lists - assigning values inside of list of lists to variables, changing values inside of list of lists due to local variable functions
- python - Python Pandas:在排序的多索引数据框中找到 n 并为每个级别 1 索引返回 [0:n+1]
- java - When you extend an abstract class which implements an interface, is it good to also mention this in the child class?