¿Hay alguna forma de limitar el número de trabajadores en celery? Tengo un servidor pequeño y el apio siempre crea 10 procesos en un procesador central. Quiero limitar este número a 3 procesos.apio. Disminuir el número de procesos
Respuesta
Intenté establecer la concurrencia en 1 y max_tasks_per_child en 1 en mi archivo settings.py y ejecuté 3 tareas al mismo tiempo. Simplemente genera 1 proceso como usuario y los otros 2 como apio. Debería ejecutar solo 1 proceso y luego esperar a que termine antes de ejecutar el otro.
Estoy usando django apio.
EDITAR {
que estaba asignando concurrencia escribiendo CELERYD_CONCURRENCY = 1 en el archivo settings.py. Pero cuando miré el archivo de registro de apio usando "tail -f /var/log/celery/w1.log", entonces vi un valor de 8 asignado a la concurrencia. Esto me dijo que setting.py no cambia la concurrencia. Para solucionar este problema, agregué las siguientes líneas al archivo "/ etc/default/aplery".
# Extra arguments to celeryd
CELERYD_OPTS="--concurrency=1"
Ahora la segunda tarea en la cola espera hasta que la primera haya finalizado.
}
apio trabajador --concurrency opción permite especificar el número de procesos secundarios que procesan la cola.
'CELERYD_CONCURENCY = 1' no funciona, todavía genera 10 procesos. Y ** - concurrencia = 1 ** tiene el mismo efecto. –
¿Está usando autoscale? – mher
Si se usa por defecto, sí. –
tengo esto en mi archivo celeryd-config
CELERYD_NODES=2
que se traduce en
$ ps -ef | grep "celery" | grep -v "grep"
www-data 1783 1 0 17:50 ? 00:00:46 /usr/bin/python /opt/webapps/repo/manage.py celeryd --loglevel=INFO -n celery1.xxx-31-39-06-74-75 --logfile=/var/log/celery/1.log --pidfile=/var/run/celery/1.pid
www-data 1791 1783 0 17:50 ? 00:00:01 /usr/bin/python /opt/webapps/repo/manage.py celeryd --loglevel=INFO -n celery1.xxx-31-39-06-74-75 --logfile=/var/log/celery/1.log --pidfile=/var/run/celery/1.pid
www-data 1802 1 0 17:50 ? 00:00:52 /usr/bin/python /opt/webapps/repo/manage.py celeryd --loglevel=INFO -n celery2.xxx-31-39-06-74-75 --logfile=/var/log/celery/2.log --pidfile=/var/run/celery/2.pid
www-data 1858 1802 0 17:50 ? 00:00:01 /usr/bin/python /opt/webapps/repo/manage.py celeryd --loglevel=INFO -n celery2.xxx-31-39-06-74-75 --logfile=/var/log/celery/2.log --pidfile=/var/run/celery/2.pid
hay cuatro procesos, no dos, pero hay dos trabajadores. Parece que cada subproceso de trabajo tiene dos procesos. Así que, presumiblemente, si configura CELERYD_NODES en 3, obtendrá 3 trabajadores pero 6 procesos.
Ignora esta opción. CELERYD_NODES = 1 resultados en 10 procesos. CELERYD_NODES = 2 resultados en 10 procesos. –
- 1. ¿Disminuir el número de clases públicas en mi aplicación .NET?
- 2. Encontrar el número de procesos secundarios
- 3. Apio - minimiza el consumo de memoria
- 4. guión paralelizar Bash con número máximo de procesos
- 5. Número máximo de procesos en Linux
- 6. ¿El número de procesos apilados depende de la configuración de concurrencia?
- 7. Problemas con el daemon de apio
- 8. ¿Qué podría disminuir el rendimiento de MySqls?
- 9. Problemas para detener el apio
- 10. proyectos multi apio con procesos de back-end mismo corredor RabbitMQ
- 11. Número máximo de procesos registrados a nivel mundial
- 12. Django Señales en el apio
- 13. ¿Por qué el apio no se cierra limpiamente?
- 14. Disminuir el tamaño de un formulario de ventana
- 15. Disminuir el tiempo de compilación de Visual Studio
- 16. Disminuir el tamaño de la aplicación GUI de Qt
- 17. Planificador de apio distribuido
- 18. Apile tareas de apio
- 19. aumentar/disminuir el valor de un campo utilizando jQuery
- 20. Cómo disminuir el tamaño de los binarios generados?
- 21. cómo disminuir el tamaño del botón de radio en android
- 22. Cómo disminuir el brillo de la imagen en CSS
- 23. Objeto de Dios: disminuir el acoplamiento a un objeto 'maestro'
- 24. ¿Cómo disminuir los tiempos de MSBuild
- 25. Disminuir sangría en un par de líneas
- 26. ¿Cómo puedo establecer el número máximo de procesos o subprocesos de MySQL?
- 27. Procesos en ejecución. ¿Por qué aparece el número de uid en lugar del nombre de usuario?
- 28. Multiproceso de Python: cómo limitar el número de procesos en espera?
- 29. rabbitmq + fuga de memoria de apio?
- 30. MPI: obteniendo el número de nodos (no procesos) en un comunicador
Estoy de acuerdo en 3 procesos, pero para mí genera 10 siempre. –
Solo probé tres procesos. No obstante, no sé el límite. Lo principal es que si la concurrencia es 1, ¿por qué se ejecutan las tareas posteriores? Deberían estar en la bodega. – fatrock92
¡Guau! ¡Editar '/ etc/default/aprendedor' me ayudó! ¡Muchas gracias! =) –