ProcessPoolExecutor - .
, . , 4 ProcessPoolExecutor (max_workers = 4)
asyncio , - :
def main(n):
loop = asyncio.get_event_loop()
loop.run_until_complete(run(n))
with concurrent.futures.ProcessPoolExecutor(max_workers=4) as exc:
exc.submit(main, 2500)
exc.submit(main, 2500)
exc.submit(main, 2500)
exc.submit(main, 2500)
run: ensure_future Tasks, async def , asyncio.gather
async def run(r):
url = "http://www.example.com/"
sem = asyncio.Semaphore(1000)
async with ClientSession() as session:
coros = [fetch(sem, url.format(i), session) for i in range(r)]
await asyncio.gather(*coros)