[英]rate_limit not working celery
我有一個簡單的結構:
項目
芹菜.py:
from __future__ import absolute_import, unicode_literals
from celery import Celery
app = Celery('proj',
broker='amqp://',
backend='amqp://',
include=['proj.tasks'])
app.conf.update(
result_expires=3600,
task_annotations={
'proj.tasks.add': {'rate_limit': '2/m'}
}
)
任務.py:
from __future__ import absolute_import, unicode_literals
from .celery import app
@app.task
def add(x, y):
return x + y
run_tasks.py:
from proj.tasks import *
res = add.delay(4,4)
a = res.get()
print(a)
根據參數{'rate_limit': '2/m'}
我每分鍾只能運行 2 次add
任務。 但是我可以根據需要多次運行它。 怎么了?
從芹菜文檔:
請注意,這是每個工作程序實例的速率限制,而不是全局速率限制。 要強制執行全局速率限制(例如,對於具有每秒最大請求數的 API),您必須限制到給定的隊列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.