- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在运行一个 Django 网站,我在其中使用 Celery 实现预防性缓存 - 也就是说,我什至在用户请求结果之前就计算并缓存结果。
但是,在某些情况下,我的一个 Celery 任务可能会被多次调用(我会说比平均完成速度快得多,实际上)。我想对它进行 rate_limit,这样它就不会在实际上没那么有用的情况下消耗大量资源。
但是,我想首先了解 Celery 的 celery.task.base.Task.rate_limit 属性是如何强制执行的。任务被拒绝了吗?他们是否被延迟并稍后执行?
提前致谢!
最佳答案
速率受限的任务永远不会被丢弃,它们在 worker 内部排队,以便它们在被允许运行时立即执行。
token 桶算法没有指定任何关于丢弃数据包的信息(这是一个选项,但 Celery 没有这样做)。
关于python - Celery 中如何执行 rate_limit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541931/
我有一个简单的结构: 项目 celery.py 任务.py run_tasks.py celery.py: from __future__ import absolute_import, unicod
我有一个使用 rabbitmq 和 celery 的设置,worker 在 4 台机器上运行,每台机器有 4 个实例。我定义了两个任务函数,它们基本上调用相同的后端函数,但其中一个名为 proce
我正在运行一个 Django 网站,我在其中使用 Celery 实现预防性缓存 - 也就是说,我什至在用户请求结果之前就计算并缓存结果。 但是,在某些情况下,我的一个 Celery 任务可能会被多次调
我的应用程序刚刚停止从 soundcloud 获取身份验证 token 。我正在使用 php api 并将请求发送为: $client = new Services_Soundcloud(CLIENT
我是一名优秀的程序员,十分优秀!