gpt4 book ai didi

python - 如何限制在 celery 中运行的任务数量

转载 作者:行者123 更新时间:2023-12-04 14:24:42 24 4
gpt4 key购买 nike

我有一个在 Heroku 上运行的应用程序,我正在使用 celery 和 worker dyno 来处理后台工作。

我正在运行占用大量内存的任务。这些任务大致同时开始,但我希望只有一两个任务同时运行,其他任务必须在队列中等待。我怎样才能做到这一点?

如果它们同时运行,我会耗尽内存并重新启动系统。我知道为什么它使用大量内存而不是减少内存

最佳答案

非常简单:将您的并发性(celery 工作进程数)限制为可以在此服务器上安全地并行运行的任务数。

请注意,如果您有不同的任务,它们的资源需求大相径庭(即一个任务消耗大量内存并需要几分钟才能完成,而另外几个任务速度很快且根本不需要太多资源),您可能最好使用两个不同的节点来为它们提供服务(一个用于繁重的任务,另一个用于轻的任务),这样重的任务就不会阻塞轻的任务。您可以使用队列将任务路由到不同的 celery 节点。

关于python - 如何限制在 celery 中运行的任务数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48283696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com