2017-07-25 28 views
1

我有一個有很多Celery任務的項目,其中一個任務一次只能執行一個(這是對第三方API的請求,它禁止多個併發連接)。芹菜 - 爲不同的隊列設置不同數量的工作人員

我可以通過啓動一個獨立的芹菜過程與單獨的隊列和併發實現這一1.

普通芹菜過程:

celery -A sourcery worker -Q default -c 4 

一個單獨的單工作進程:

celery -A sourcery worker -Q separate_queue -c 1 

但是我在Heroku上,而且我將雙倍地爲兩個進程而不是一個進程計費。那麼,是否有一種方法可以通過單一的Celery過程來實現?

+0

在應用層實現,帶有信號量,對我來說更簡單。 – georgexsh

回答

0

目前沒有辦法做到這一點。

我有一個類似的問題,我有一個第三方API只允許一個併發連接。我最終在Heroku上運行了兩個獨立的dynos。

的確有人要求此功能,但它一直沒有執行:https://github.com/celery/celery/issues/1599

編輯:

有一種叫做芹菜多,可能是值得探討:

Celery - run different workers on one server

雖然我不確定它是否與Heroku兼容,但如果您嘗試,請告知我!

相關問題