https://pypi.python.org/pypi/Ratelimiter
Diese Bibliothek kann den Rate nur im lokalen Spielraum einschränken. d.h.) in Funktion und Schleifen < /p>
Code: Select all
# Decorator
@RateLimiter(max_calls=10, period=1)
def do_something():
pass
# Context Manager
rate_limiter = RateLimiter(max_calls=10, period=1)
for i in range(100):
with rate_limiter:
do_something()
< /code>
Da ich mehrere Funktionen habe, die API -Aufrufe an verschiedenen Stellen tätigen, möchte ich die API -Aufrufe in global < /strong> Scope einschränken. Und nehmen Sie an, ich habe Funktionen x
Code: Select all
@rate(...)
def x():
...
@rate(...)
def y():
...
< /code>
Durch Dekorieren der Funktionen mit dem Limiter < /code> kann ich die Rate gegen die beiden Funktionen einschränken. Y