Actuellement, en utilisant une API ce taux me limite à 3000 requêtes par 10 secondes. J'ai 10 000 URL qui sont récupérées en utilisant Tornado en raison de sa nature d'E/S asynchrone.Limitation de débit Python Tornado AsyncHttpClient fetch
Comment puis-je implémenter une limite de débit pour refléter la limite de l'API?
from tornado import ioloop, httpclient
i = 0
def handle_request(response):
print(response.code)
global i
i -= 1
if i == 0:
ioloop.IOLoop.instance().stop()
http_client = httpclient.AsyncHTTPClient()
for url in open('urls.txt'):
i += 1
http_client.fetch(url.strip(), handle_request, method='HEAD')
ioloop.IOLoop.instance().start()