Redis
 sql >> Base de données >  >> NoSQL >> Redis

blpop arrête de traiter la file d'attente après un certain temps

Je suggère de vérifier s'il y a un problème et de signaler le problème au projet Redis en tant que problème si vous trouvez quelque chose côté serveur. Cependant, les étapes suivantes vous aideront à résoudre le problème même si dans une autre partie de votre pile (ce qui est probable, car il n'y a pas de problèmes connus similaires à celui ci-dessus).

Étapes pour vérifier ce qui se passe :

  1. Attendez qu'un client s'arrête.
  2. Vérifier qu'il y a bien des éléments dans la liste avec le LLEN commande.
  3. Vérifier avec la CLIENT LIST qu'il y a bien votre client listé, exécutant un pop bloquant (vous verrez le nom de la commande), et vérifiez quelle est la taille de la réponse pour voir si c'est votre client qui ne consomme pas réellement les réponses qu'il reçoit.

Remarques aléatoires :

  1. Redis 2.8.2. est trop ancien, il est conseillé de mettre à jour.
  2. phpredis peut avoir des bogues qui pourraient causer cela, s'il est aussi ancien que le serveur Redis.