Redis
 sql >> Database >  >> NoSQL >> Redis

Coda lavori con redis utilizzando BLPOP

Se utilizzi BLPOP da solo per rimuovere un messaggio dalla coda e il consumer del messaggio non riesce a elaborarlo, il messaggio dovrà essere rimesso in coda, per evitare che scompaia per sempre insieme al consumer fallito.

Per un'elaborazione dei messaggi più duratura, è necessario mantenere un elenco di messaggi elaborati in modo che possano essere rimessi in coda in caso di errore.

[B]RPOPPLUSH è perfetto per questo scenario; può estrarre in modo atomico un messaggio dalla coda dei messaggi e inviarlo a una coda di elaborazione in modo che l'applicazione possa rispondere in caso di errore da parte del consumatore.

http://redis.io/commands/rpoplpush

Il reinserimento effettivo è lasciato all'applicazione, ma questo comando redis fornisce le basi per farlo.

Ci sono anche alcune implementazioni drop-in-place di code che utilizzano redis fluttuanti sul Web, come RestMQ [ http://www.restmq.com/ ]