loop.run_in_executor( None, # odwolanie powinno wykorzystywać nagłówki (headers) requests.get, url ) for i in range(1, 10) ] for response in await asyncio.gather(*futures): print(response.status_code) pass
loop = asyncio.get_event_loop() loop.run_until_complete(main()) Ktoś używał tej biblioteki lub ma inny pomysł jak to zrobić?
Chcę wywołać kilkadziesiąt tysięcy odwołań GETem do strony która zwróci JSONa.
Próbuję to zrównoleglić przy pomocy biblioteki "asyncio".
Problem polega na tym, że nie wiem jak wraz z URLem do requests przekazać nagłówki.
Standardowo zrobiłbym to tak:
requests.get("[http://www.example.com](http://www.example.com)", headers = headers)ale w tej formie asyncio tego nie łyka.
Kod dostępny tutaj: https://repl.it/repls/DeafeningRowdyArtificialintelligence
lub poniżej:
#!/usr/bin/python
import requests
import json
import asyncio
headers = {
"Content-Type": "application/json"
}
url = "[http://www.example.com](http://www.example.com)"
async def main():
loop = asyncio.get_event_loop()
futures = [
loop.run_in_executor(
None,
# odwolanie powinno wykorzystywać nagłówki (headers)
requests.get,
url
)
for i in range(1, 10)
]
for response in await asyncio.gather(*futures):
print(response.status_code)
pass
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Ktoś używał tej biblioteki lub ma inny pomysł jak to zrobić?
ale ciesze się że mogłem pomóc
źródło: comment_U5tVLbSCxqocOZUDxtgnb31I4fcB20fo.jpg
Pobierz