rabbitmq - Celery(Django)限速

标签 rabbitmq amqp celery carrot

我正在使用Celery处理多个数据挖掘任务。这些任务之一连接到远程服务,该远程服务允许每个用户最多10个同时连接(换句话说,它可以在全局范围内超过10个连接,但是不能在每个单独的作业中超过10个连接)。

我正在寻找 THINK Token Bucket (rate limiting),但似乎找不到任何实现。

最佳答案

Celery具有速率限制功能,并包含通用 token 存储区实现。

设置任务的速率限制:
http://docs.celeryproject.org/en/latest/userguide/tasks.html#Task.rate_limit

或在运行时:

http://docs.celeryproject.org/en/latest/userguide/workers.html#rate-limits

token 桶实现在Kombu中

关于rabbitmq - Celery(Django)限速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857464/

相关文章:

linux - Docker 在 docker 主机内部监听 RabbitMQ 而不是从外部监听,为什么?

java - 当消息可用时,JMS receiveNoWait() 是否保证消息传递?

python - 如何在没有线程或任务队列的情况下在 Flask 中运行后台作业

node.js - 无法连接到任何rabbitmq云服务

Spring RabbitTemplate 未使用 TTL 创建死信队列

python - 从多个 celery worker 登录到一个文件安全吗?

celery任务和我的模​​型之间的Django导入循环

java - Camel RabbitMQ 消费者 : what's the interaction between concurrentConsumers and threadPoolSize options?

golang -RabbitMq : channel/connection is not open

azure - 在 Azure 上读取 RabbitMQ 消息