¿Es posible establecer la concurrencia (el número de trabajadores simultáneos) en un nivel por tarea en Celery? Estoy buscando algo más refinado que CELERYD_CONCURRENCY
(que establece la concurrencia para todo el daemon).Apio: por límites de concurrencia por tarea (# de trabajadores por tarea)?
El escenario de uso es el siguiente: tengo un único celerlyd ejecutando diferentes tipos de tareas con características de rendimiento muy diferentes, algunas son rápidas, otras muy lentas. Para algunos, me gustaría hacer todos los que pueda tan rápido como pueda, para otros me gustaría asegurarme de que solo se ejecute una instancia en cualquier momento (es decir, concurrencia de 1).
Gracias 0x00mh. Entonces puedo definir concurrencia en colas, pero no en tareas. Y creo que esto significa que estoy comenzando múltiples demonios de apio. ¿Entonces supongo que eso significa que no hay forma de establecer la concurrencia por tarea sin usar un daemon por separado? – Parand
CELERYD_CONCURRENCY define cuántos procesos (procesos de trabajo) se deben iniciar. Los procesos de trabajo consumen mensajes del intermediario de forma independiente. El mensaje contiene el nombre de la tarea para ejecutar. – mher