sql >> Base de Datos >  >> NoSQL >> Redis

Cola de trabajos con redis usando BLPOP

Si usa BLPOP solo para eliminar un mensaje de la cola y su consumidor de mensajes no puede procesarlo, el mensaje deberá volver a ponerse en cola, para que no desaparezca para siempre junto con el consumidor fallido.

Para un procesamiento de mensajes más duradero, se debe mantener una lista de los mensajes que se procesan para que se puedan volver a poner en cola en caso de falla.

[B]RPOPLPUSH es perfecto para este escenario; puede extraer atómicamente un mensaje de la cola de mensajes y enviarlo a una cola de procesamiento para que la aplicación pueda responder en caso de falla por parte del consumidor.

http://redis.io/commands/rpoplpush

La puesta en cola real se deja a la aplicación, pero este comando redis proporciona las bases para hacerlo.

También hay algunas implementaciones directas de colas que usan redis flotando en la web, como RestMQ [ http://www.restmq.com/ ]