簡體   English   中英

如何限制在celery中運行的任務數量

[英]How to limit the number of tasks that runs in celery

我有一個在Heroku上運行的應用程序,並且正在使用芹菜和工人dyno來處理后台工作。

我正在運行占用大量內存的任務。 這些任務大致在同一時間開始,但是我只希望同時運行一個或兩個任務,其他任務必須在隊列中等待。 我該如何實現?

如果它們同時運行,則我的內存不足,系統將重新啟動。 我知道為什么要使用大量內存而不希望減少內存消耗

很簡單:將並發(芹菜工作者進程數)限制為可以在此服務器上安全地並行運行的任務數。

請注意,如果您有不同的任務而資源需求卻千差萬別(例如,一個任務吃了很多公羊,花了幾分鍾完成,而另外兩個任務又快又根本不需要太多資源),則最好使用兩個不同的節點為它們服務(一個用於繁重的任務,另一個用於輕型任務),因此繁重的任務不會阻塞輕型任務。 您可以使用隊列將任務路由到不同的celery節點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM