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

Jobkø med redis ved hjælp af BLPOP

Hvis du bruger BLPOP alene til at fjerne en meddelelse fra køen, og din meddelelsesforbruger undlader at behandle den, skal meddelelsen sættes i kø igen, for at den ikke forsvinder for altid sammen med den mislykkede forbruger.

For mere holdbar meddelelsesbehandling skal en liste over meddelelser, der behandles, vedligeholdes, så de kan sættes i kø igen i tilfælde af fejl.

[B]RPOPLPUSH er perfekt til dette scenarie; det kan atomært poppe en besked fra beskedkøen og skubbe den ind i en behandlingskø, så applikationen kan reagere i tilfælde af en fejl hos forbrugeren.

http://redis.io/commands/rpoplpush

Den faktiske gen-kø er overladt til applikationen, men denne redis-kommando giver grundlaget for at gøre det.

Der er også nogle drop-in-place implementeringer af køer, der bruger redis, der flyder rundt på nettet, såsom RestMQ [ http://www.restmq.com/ ]




  1. Sådan bygger du en URL Shortener med Node.js og MongoDB

  2. MongoDB:find værdi i Array med flere kriterier

  3. Docker-compose , alligevel for at angive en redis.conf fil?

  4. Kan jeg serialisere et ruby ​​Digest::SHA1-forekomstobjekt?