【问题标题】:control consume speed of celery worker控制芹菜工人的消耗速度
【发布时间】:2016-01-26 16:04:23
【问题描述】:

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

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

这里的问题是:我怎样才能将消耗任务(即发送 api 请求)的工作限制为每秒 1 个?

谢谢!

【问题讨论】:

    标签: django celery


    【解决方案1】:

    celery 任务有一个 rate_limit 选项,应该可以满足您的需求。这是针对每个工作人员的,因此您需要使用专用队列来确保此任务的所有请求都获得了一个工作人员。

    【讨论】:

    • 即使你为这个限速任务指定了一个队列,我假设只有一个工作人员可以处理它
    猜你喜欢
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 2022-01-08
    • 2014-06-09
    • 2019-03-13
    • 1970-01-01
    相关资源
    最近更新 更多