Ограничение скорости с использованием ratelimit lib - PullRequest
2 голосов
/ 21 января 2020

Я пытаюсь добавить скорость ограничения моей конечной точки, используя https://pypi.org/project/ratelimit/. Приложение находится в Flask. Мой код выглядит как

@limits(calls=2, period=60)
@backoff.on_exception(backoff.expo, requests.exceptions.RequestException)
@endpoint
def contact():
    <some code to fetch data from DB>
    return "Success", 200

Это чванское приложение. Когда я достигаю конечной точки более 2 раз, я получаю 500 ОШИБКА ВНУТРЕННЕГО СЕРВЕРА на чванство и в логах я получаю ratelimit.exception.RateLimitException: too many calls. Я хочу показать пользовательское сообщение об ошибке на swagger, показывающее, что это происходит из-за RateLimitException, а затем показать примененные ограничения. Я пытался

@limits(calls=2, period=60)
@backoff.on_exception(backoff.expo, requests.exceptions.RequestException)
@endpoint
def contact():
    try:
      <some code to fetch data from DB>
      return {"Success"}, 200
    except:
      return {"Rate limit exception"}, 500

Выше код не работает. Могу ли я получить помощь с этим. Пожалуйста, дайте мне знать, если мне нужно добавить больше информации в этом.

...