Jeśli używasz samego BLPOP do usunięcia wiadomości z kolejki, a klient wiadomości nie może jej przetworzyć, wiadomość będzie musiała zostać ponownie umieszczona w kolejce, aby nie zniknęła na zawsze wraz z uszkodzonym konsumentem.
Aby zapewnić trwalsze przetwarzanie komunikatów, należy zachować listę przetwarzanych komunikatów, aby w przypadku niepowodzenia można je było umieścić w kolejce.
[B] RPOPLPUSH jest idealny do tego scenariusza; może niepodzielnie usunąć komunikat z kolejki komunikatów i umieścić go w kolejce przetwarzania, aby aplikacja mogła odpowiedzieć w przypadku awarii po stronie konsumenta.
http://redis.io/commands/rpoplpush
Rzeczywiste ponowne kolejkowanie jest pozostawione aplikacji, ale to polecenie redis zapewnia podstawy do tego.
Istnieją również implementacje kolejek typu drop-in-place wykorzystujące redis pływające w sieci, takie jak RestMQ [ http://www.restmq.com/ ]