Проверяет знание работы с группой асинхронных задач в Python.
asyncio.gather запускает несколько корутин параллельно и возвращает их результаты в виде списка. Если одна корутина упадет с ошибкой, остальные продолжат работу (если не задано return_exceptions=True).
Пример использования:
import asyncio
async def fetch_data(url):
await asyncio.sleep(1) # Имитация запроса
return f"Данные с {url}"
async def main():
results = await asyncio.gather(
fetch_data("url1.com"),
fetch_data("url2.com"),
)
print(results) # ['Данные с url1.com', 'Данные с url2.com']
asyncio.run(main())Особенности:
Задачи выполняются конкурентно, но не обязательно параллельно (если нет I/O-ожидания).
При return_exceptions=True ошибки возвращаются как результаты.