async/aiohttp помочь с решением ограничения Windows

Я для парсинга использую aiohttp и async. На windows имеется ограничение в 64 одновременных сокета. Чтобы обойти это ограничение, посоветовали использовать ProactorEventLoop.

Я попробовал, но мне постоянно кидает, что я использую разные event loop.

Помогите, как исправить мой код, чтобы обойти это ограничение

async def start_main(root_items):
    loop = asyncio.get_event_loop()
    with ThreadPoolExecutor(os.cpu_count()) as pool:
        initial_future = loop.create_future()
        initial_future.set_result(root_items)
        await crawl(initial_future, pool)



if __name__ == '__main__':
    loop = asyncio.get_event_loop()

    try:
        loop.run_until_complete(start_main(urls))
    except KeyboardInterrupt:
        for task in asyncio.Task.all_tasks():
            task.cancel()
            with suppress(asyncio.CancelledError):
                loop.run_until_complete(task)

Использую Python 3.6.8 Источник

Заменил loop в Main и стало кидать ошибки

Exception in callback _ProactorBaseWritePipeTransport._loop_writing(<_OverlappedF...hed result=31>)
handle: <Handle _ProactorBaseWritePipeTransport._loop_writing(<_OverlappedF...hed result=31>)>
Traceback (most recent call last):
  File "C:\Program Files\Python36\lib\asyncio\events.py", line 145, in _run
    self._callback(*self._args)
  File "C:\Program Files\Python36\lib\asyncio\proactor_events.py", line 271, in _loop_writing
    assert f is self._write_fut
AssertionError

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