Redis
 sql >> Datenbank >  >> NoSQL >> Redis

blpop beendet nach einer Weile die Verarbeitung der Warteschlange

Ich schlage vor, zu überprüfen, ob ein Problem vorliegt, und das Problem dem Redis-Projekt als Problem zu melden, wenn Sie finden etwas serverseitig. Die folgenden Schritte helfen Ihnen jedoch, das Problem zu beheben, auch wenn es sich um einen anderen Teil Ihres Stacks handelt (was wahrscheinlich ist, da es keine bekannten Probleme ähnlich dem oben genannten gibt).

Schritte zum Überprüfen, was passiert:

  1. Warten Sie, bis ein Client stoppt.
  2. Überprüfen Sie mit LLEN, ob tatsächlich Elemente in der Liste vorhanden sind Befehl.
  3. Prüfen Sie mit CLIENT LIST dass tatsächlich Ihr Client aufgeführt ist, einen blockierenden Pop ausführt (Sie sehen den Befehlsnamen), und überprüfen Sie, wie groß die Antwort ist, um festzustellen, ob es Ihr Client ist, der die erhaltenen Antworten nicht tatsächlich verbraucht.

Zufällige Bemerkungen:

  1. Redis 2.8.2. zu alt ist, wird ein Upgrade empfohlen.
  2. phpredis hat möglicherweise Fehler, die dies verursachen könnten, wenn es so alt wie der Redis-Server ist.