控制芹菜工人的消费速度

时间:2016-01-26 16:04:23

标签: django celery

我正在尝试使用我的Django应用程序设置Celery。这个应用程序将允许用户调用一些API并获得响应。但是,此API具有限制,仅允许用户每秒调用不超过一次。

所以我打算用芹菜来控制通话频率。多个用户可能同时使用此应用程序,因此我认为我应该将调用部分设置为worker。每个人都可以提交将API调用到队列中的请求,工作人员将使用它们。

这是一个问题:如何限制使用任务的工作(即发送api请求)为每秒1次?

谢谢!

1 个答案:

答案 0 :(得分:1)

芹菜任务有一个rate_limit选项,可以做你想要的。这是每个工作人员,因此您需要使用专用队列来确保此任务的所有请求都得到了一个工作人员。