Se si utilizza BLPOP da solo per rimuovere un messaggio dalla coda e l'utente del messaggio non riesce a elaborarlo, il messaggio dovrà essere nuovamente accodato, per evitare che scompaia per sempre insieme al consumatore non riuscito.
Per un'elaborazione più duratura dei messaggi, è necessario mantenere un elenco di messaggi elaborati in modo che possano essere reinseriti in coda in caso di errore.
[B] RPOPLPUSH è perfetto per questo scenario; può atomicamente far scoppiare un messaggio dalla coda dei messaggi e inserirlo in una coda di elaborazione in modo che l'applicazione possa rispondere in caso di errore alla fine del consumatore.
http://redis.io/commands/rpoplpush
reale ri-messa in coda è lasciata alla domanda, ma questo comando Redis fornisce le basi per farlo.
Ci sono anche alcune implementazioni drop-in-place di code utilizzando Redis galleggianti intorno al web, come RestMQ [http://www.restmq.com/]
fonte
2012-12-02 18:56:17
Ci sono diversi articoli/risorse per quanto riguarda questo scenario, ecco uno: - [Redis code : An Emerging Usecase] (http://nosql.mypopescu.com/post/426360602/redis-queues-an-emerging-usecase) – yojimbo87