как можно ускорить код? Aiohttp

Вот мой код для запросов

async def find_product_by_id(number_of_requests):
    '''Получает данные о продуктах по идентификатору'''

    global amount_r 
    session = aiohttp.ClientSession() 
    tasks = [] #собирает все запросы т
    for i in range(number_of_requests):
        tasks.append(asyncio.create_task(session.get(url = f'https://api.kazanexpress.ru/api/v2/product/{amount_r}'))) # Добавления новой задачи
        amount_r = amount_r + 1
        print(amount_r)
    # Асиннхронная активация всех собранных задач
    responses = await asyncio.gather(*tasks)
    yield [await r.text(encoding='UTF-8') for r in responses] # возвращяет один ответ за раз

Вот код вызова

async def start_itr(number_of_r_for_itr,number_of_itr):
    '''Запускает парсер и обработку данных'''
    global amount_r
    for j in range(number_of_itr):
        async for i in find_product_by_id(number_of_r_for_itr):
            row_data.append(i)
        print('Время для сна!')
        time.sleep(2)
    print('Количество продуктов: ',len(data))

Код работает крайне медленно или сервер отправляет ответ очень медленно. Как можно ускорить код хоть немного?


Ответы (0 шт):