나는이 튜토리얼을 따라 갔다 : https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html 그리고 50 000 요청을 할 때 모든 것이 잘 작동한다. 하지만 1 milion API 호출을 할 필요가 다음이 코드에 문제가 :aiohttp/asyncio로 1 milion 요청하기 - 글자 그대로
url = "http://some_url.com/?id={}"
tasks = set()
sem = asyncio.Semaphore(MAX_SIM_CONNS)
for i in range(1, LAST_ID + 1):
task = asyncio.ensure_future(bound_fetch(sem, url.format(i)))
tasks.add(task)
responses = asyncio.gather(*tasks)
return await responses
파이썬, 그것은 기본적으로 그냥 지연 1 개 milion 작업을 만들 필요가 다음 터미널에서 Killed
메시지를 출력하기 때문에. 사전 제작 된 (또는 목록) URL 생성기를 사용하는 방법이 있습니까? 감사.
세마포어가 아닌가요? 세마포어를 10으로 설정하더라도 지연이 발생하고 "Killed"메시지가 표시됩니다. –
링크에서 예를 시도했는데 작동합니다. 저자가 말했듯이, 100,000 요청에 대해 약 11-12 분. 파이썬 3.4에서도 작동하도록 조정했다. 여기에서 작동합니다. 어딘가 다른 곳에서 코드에 문제가 생길 수 있습니다. 전체 코드를 게시 할 수 있습니까? – roman
프로그램이 죽은 후에'dmesg' 명령 출력을 게시하거나 파이썬 인터프리터가 얻은 전체 오류를 게시 할 수 있습니까? MemoryError 여야합니다. – amirouche