Tal vez estoy siendo tonto al hacer la pregunta, pero necesito entender bien los conceptos básicos antes de seguir trabajando.Apio: ¿un mensaje en RabbitMQ puede ser consumido por dos o más trabajadores al mismo tiempo?
Estoy procesando unos pocos miles de feeds RSS, usando varios nodos de trabajadores de Apiler y un nodo RabbitMQ como intermediario. La URL de cada feed se escribe como un mensaje en la cola. Un trabajador simplemente lee la URL de la cola y comienza a procesarla. Tengo que asegurarme de que una sola fuente RSS no sea procesada por dos trabajadores al mismo tiempo.
El artículo Ensuring a task is only executed one at a time sugiere una solución basada en Memcahced para bloquear el avance cuando se está procesando.
Pero lo que intento comprender es por qué necesito usar Memcached (u otra cosa) para asegurar que un mensaje en una cola de RabbitMQ no sea consumido por varios trabajadores al mismo tiempo. ¿Hay algún cambio de configuración en RabbitMQ (o Aplery) que pueda hacer para lograr este objetivo?
Hay una diferencia entre tener que bloquear los mensajes y bloquear los feeds. ¿Qué necesitas hacer? –
@PlatinumAzure - ¿te importa explicar un poco?Necesito bloquear el mensaje (si eso significa asegurarse de que no sea consumido por varios trabajadores). – rubayeet