Получить URL-адрес без блокировки функции

#python #python-3.x #asynchronous #python-asyncio #aiohttp

#python #python-3.x #асинхронный #python-asyncio #aiohttp

Вопрос:

Я пытаюсь получить ресурс из URL-адреса внутри маршрута на веб-сервере, не блокируя его, поскольку его получение иногда занимает 11 секунд . Для этого я переключился с flask на aiohttp.

 async def process(request):
    data = await request.json()
    req = urllib.request.Request(
            request["resource_url"], 
            data=None, 
            headers=hdrs
        )
    # Do processing on the resource 
 

Но я не уверен, как выполнить вызов, и позволит ли это выполнять другие вызовы по этому маршруту во время извлечения ресурса?

Комментарии:

1. Вы должны использовать aiohttp для выполнения запроса. Хотя, если вы хотите ответить клиенту до завершения запроса, вы можете использовать фоновый рабочий (например, celery, rq).

2. поскольку @dirn предложил вам использовать aiohttp, пожалуйста, перейдите по этой ссылке, чтобы использовать клиент aiohttp docs.aiohttp.org/en/stable /…