Множественные запросы в Python с помощью asyncioPython

Программы на Python
Anonymous
Множественные запросы в Python с помощью asyncio

Сообщение Anonymous »

Я пытаюсь сделать несколько запросов одновременно.
Я новичок в асинхронности и жду в Python (я я использовал его в Js).
Я нашел пример и использовал его:

Код: Выделить всё

import asyncio
import aiohttp

async def get_item( session: aiohttp.ClientSession, path: str ):
# fetch data
url = f'my/path/here{path}'
resp = await session.request('GET', url=url)
data = await resp.json()
# at this point I do stuff to the data and save as csv
return await data

async def get_all():
tasks = []
async with aiohttp.ClientSession() as session:
tasks.append(get_item(session=session, path='1'))
tasks.append(get_item(session=session, path='2'))

return await asyncio.gather(*tasks, return_exceptions=True)

loop = asyncio.get_event_loop()
loop.run_until_complete(get_all())

но получаю следующую ошибку:

Код: Выделить всё

RuntimeError: This event loop is already running
Очевидно, что существует проблема. Может ли кто-нибудь объяснить, в чем проблема и как ее исправить?

Подробнее здесь: https://stackoverflow.com/questions/784 ... th-asyncio

Вернуться в «Python»