我在Django的生产Web/Server中使用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 -A Site_Web.celery_settings worker -l info --autoscale 22 -Q default -n worker1.%h
简历中:
我怎么能在Celery指定只处理前30个线程,而从不使用最后2个线程
提前感谢您的帮助和提示。
如果我理解得很好,您希望为Celery派生的每个工作进程设置CPU相关性。Celery不支持为其工作进程设置CPU相关性,并且要手动执行此操作,您必须花费大量时间来编写一个监控工具;手表;Celery worker及其子进程使用任务集或类似的东西来处理和设置CPU相关性。
我个人认为这是不值得付出的设置CPU相关性的好原因很少-请相信系统的调度程序。