TL; DRPython的芹菜增加併發對工人
是否有可能增加或在運行芹菜工人減少併發無重新啓動呢?
我用芹菜4.0.0與RabbitMQ的作爲經紀人在Ubuntu 14.10
我USECASE
我經常面臨的一個大隊列的任務,其中大部分主要執行的基於HTTP請求並做一些小處理。我讓工作人員在相當強大的機器上運行,並希望最大限度地利用資源。這在大多數情況下都不是問題,除非處理大量的HTTP請求,這可能會超時或需要很長時間才能響應等。處理這些問題時,我想暫時增加--concurrency
- 參數,而不必重新啓動worker。
目前我正在運行芹菜--concurrency 150
,但這隻會讓服務器瓶頸(CPU)的利用率降低約10%。我想一種解決方案是在那段時間內產生另一個150個併發工作者,並在稍後將其殺死,但這可能會增加複雜性。如果可能的話,我想堅持1個工人/機器。
如何對自動縮放選項:http://docs.celeryproject.org/en/latest/userguide/workers.html#autoscaling –
原則上我喜歡使用自動縮放的想法比我想出的更好。然而,這些文檔並不清楚如何進行子類化和添加自己的邏輯。 請注意,當我試圖超越169個進程時,芹菜在任何地方都會拋出錯誤,但我認爲這個事實可能是GitHub的一個特例。 – MoorzTech