gpt4 book ai didi

python - 在执行许多队列的情况下为 Celery 指定线程

转载 作者:行者123 更新时间:2023-12-04 19:40:38 25 4
gpt4 key购买 nike

我在 Django 的生产 Web/服务器中使用 Celery 已经快两年多了。我搜索这个问题的解决方案已经快两年多了:“如何指定 celery 可用的线程数?”
我的生产服务器上有 32 个线程和 7 个 Celery 队列。
我在由 Supervisord 管理的 Centos 操作系统上使用 Celery像这样
celery .ini

[program:Site_Web_celery-worker1]
command=/etc/supervisord.d/celery-worker1.sh
directory=/var/www/html/SiteWeb/Site_Web/
user=apache
numprocs=1
stdout_logfile=/var/log/celery/worker1.log
stderr_logfile=/var/log/celery/worker1.log
autostart=true
autorestart=true
priority=999
stopasgroup=true
第一个队列的 celery 命令行。
celery -A Site_Web.celery_settings worker -l info --autoscale 22 -Q default -n worker1.%h
在简历中:
我怎样才能在 Celery 中指定仅在前 30 个线程上工作而从不使用最后两个线程?
提前感谢您的任何帮助和提示。

最佳答案

如果我理解得很好,您想为 Celery 生成的每个工作进程设置 CPU 亲和性。 Celery 不支持为其工作进程设置 CPU 亲和性,要手动执行此操作,您必须花费大量时间编写一个监控工具,该工具不断“监视”Celery 工作人员及其子进程并使用 taskset 设置 CPU 亲和性或类似的东西。
我个人认为这不值得努力。设置 CPU 亲和性的充分理由很少见 - 相信您系统的调度程序。

关于python - 在执行许多队列的情况下为 Celery 指定线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63992309/

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