[Python] Setting API rate limit on Python with ratelimit library

Discussão em 'Python' iniciado por Stack, Maio 2, 2025.

  1. Stack

    Stack Membro Participativo

    from ratelimit import limits, RateLimitException, sleep_and_retry
    from backoff import on_exception, expo
    max_hit = 5
    period = 300
    @limits(calls=max_hit, period=period)
    def StashNotes(self):
    url = ("https://www.r10.net/")
    raw_data = requests.get(url, headers=headers)
    if raw_data.status_code != 200:
    raise Exception('API response: {}'.format(raw_data.status_code))
    else:
    ## some unnecessary things here ##


    I am trying to limit the API rate with a max hit of 5 and period 300, so my requests.get will not hit any more than 5 times in 300 second period. @limits(calls=max_hit,period=period) doesn't work, and can't really figure out why.

    Is there any other way to do this besides ratelimit library, or how to fix @limits decoration? Any kind of solution is appreciated, thanks.

    headers=headers contains sensitive information but it doesn't matter anyway just 2 cookie values in it.

    Continue reading...

Compartilhe esta Página