使用Celery与Django访问速率有限的RESTful API

时间:2015-12-11 10:02:29

标签: django api rest celery rate-limiting

只是想知道我的想法是否不必要地复杂,是否有更简单/更好的方式。

我计划使用Celery从速率有限的RESTful API发送请求和检索数据(每10秒10次请求)。这是我之前遇到的问题的解决方案,我自编写的api包装器在内部处理速率限制,将为每个视图实例化,因此错误地处理速率限制。

编辑(更多细节):
我正在创建一个必须从RESTful API(即League of Legends' API)请求数据的网站。我已经为API编写了一个python包装器,它通过计算每个间隔和等待的请求来处理API施加的速率限制。然而,当我将我的包装器实现到我的Django项目中时,我意识到当我需要使用API​​时创建我的包装器类的实例会破坏我的包装器的速率限制处理,因为每个实例都有一个单独的请求计数。

我想到的解决方案,可能是也可能不是太复杂,是使用Celery来运行'我的包装器的单个实例,每个视图都会使用。这似乎相对而言“不合适”。对于一个看似非常简单的想法。也许有一种更简单的方法来承载整个类的单个实例。

0 个答案:

没有答案