2011-01-31 114 views
9

我正在使用Celery來處理多個數據挖掘任務。這些任務之一連接到遠程服務,它允許最多10個同時連接每用戶(或者換句話說,它CAN超過10個連接全球,但它CAN NOT超過每個人工作10個連接)。芹菜(Django)限速

認爲Token Bucket (rate limiting)是我在找,但我似乎無法找到它的任何實施。

回答

3

經過一番研究,我發現,芹菜不明確提供了一種方法來限制像這樣的併發實例的數量,而且這樣做通常被認爲是不好的做法。

更好的解決方案是在單個任務中同時下載,並使用Redis或Memcached來存儲和分發其他任務進行處理。

3

雖然它可能是不好的做法,你可以使用一個專用的隊列,並限制工人,如:

# ./manage.py celery worker -Q another_queue -c 10