flask - 使用 ratelimit lib 进行速率限制
问题描述
我正在尝试使用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 INTTERNAL SERVER ERROR on swagger 和 log 我得到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
上面的代码不起作用。我能得到一些帮助吗?如果我需要在此添加更多信息,请告诉我。
解决方案
推荐阅读
- reactjs - 单击注销按钮时出现内存泄漏错误
- neo4j - 如何添加到属性的字符串值而不是在 Cypher Neo4J 中重写它?
- typescript - 使用实体存储库的全局实例在事务中保存多个对象(TypeORM)是否安全?
- r - 基于子类对 2 个匹配的队列进行重塑,然后进行连续的 McNemar 测试
- javascript - web api和接口有什么区别?
- postgresql - flyway 后的 Flyway 迁移错误:基线
- python - 缺少 CSRF 令牌 - Flask WTForms Python
- node.js - NodeJS + MongoDB:在特定日期之后显示条目
- python - Django,将 javascript 变量传递到 ListView 以过滤查询集
- google-apps-script - Stackdriver 错误记录 API - 错误代码”:400 “消息”:“缺少 group_id。” - 获取错误日志