gpt4 book ai didi

django - Heroku 上的 Celery、RabbitMQ 和 Django : Reaching Memory Limit

转载 作者:行者123 更新时间:2023-12-05 07:14:26 31 4
gpt4 key购买 nike

在 Django 应用程序中使用 RabbitMQ 运行 Celery 任务时,我的 Heroku Dyno(业余爱好)达到了 RAM 内存限制。

我尝试了一些 Celery 设置,但我一直在达到内存限制,而且我缺少有关内存优化的技术知识。我想知道我当前的设置是否可以做些什么来防止达到限制,或者这是升级 Heroku Dyno 的唯一解决方案?

BROKER_URL = 'amqp://url'
BROKER_POOL_LIMIT = 5
CELERY_RESULT_BACKEND = None
CELERY_MAX_TASKS_PER_CHILD = 10
CELERY_MAX_MEMORY_PER_CHILD = 80000
Procfile:web: gunicorn app_name.wsgi worker: celery -A app_name worker -l info --without-heartbeat
Task.py file:@shared_task(acks_late=True, ignore_result=True)
def function_name(args):

最佳答案

我有同样的问题,将最大并发设置为 2 或 3 解决了问题。

在您的 procfile 中,在 worker 定义中添加 -c 2-c 3

默认情况下,Celery 会将并发设置为可用的 CPU 数量。并发性定义了将生成的 celery worker 的数量。

关于django - Heroku 上的 Celery、RabbitMQ 和 Django : Reaching Memory Limit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59914560/

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