Skip to main content
/ops/health dit à quelle profondeur est chaque file. Cela suffit à savoir que quelque chose est bloqué et ne suffit pas à faire quoi que ce soit à ce sujet : 4 000 messages en attente sur vendor1 se lit identiquement que ce soit le batch loupé d’un client ou chaque compte sur la boîte.
Un nombre nu est lu comme une limite plutôt qu’un nom de worker, donc queue dump 100 élargit tout. Le défaut est 20 par file, plafond 500. Au-delà la question appartient à cdr_submit plutôt qu’à un gateway en direct.

Les quatre types

retries est le champ qui répond à la question

Une file pleine de zéros est un problème de volume. Plus est arrivé que le vendeur peut prendre.Une file pleine de retries non nuls est un problème vendeur. Les mêmes messages reviennent.Ceux-là demandent des réponses opposées. Ajouter de la capacité à une tempête de retries la rend pire ; suspendre un vendeur qui est juste occupé déplace le backlog quelque part de plus coûteux.
depth et returned sont des questions différentes. depth est toute la file ; returned est combien a été listé. Les comparer est comment vous dites si vous voyez le problème ou un coin.

Pas de texte de message, et pas de drapeau qui en ajoute un

cdr_submit exclut le corps par principe. Destination et source sont gardées parce que la tarification et les litiges en ont besoin, le texte non parce qu’exploiter un gateway ne le fait jamais. Un dump de file hérite de cette règle plutôt que de devenir la seule surface opérateur qui redonne du trafic client en gros. body_chars avec encoding distingue un OTP en une partie d’un blast bloqué à six parties, ce qui est la question de diagnostic réellement posée.

Rien n’est consommé et rien n’est réordonné

Chaque file est parcourue avec son propre itérateur pendant que le gateway continue de la drainer. Donc :
  • Un message listé peut déjà être parti au moment où vous le lisez.
  • depth est échantillonnée après le parcours et peut différer de entries de quelques-uns.
  • ordered dit si la liste est l’ordre dans lequel le gateway enverra. False pour une file de priorité et pour la file de délai.
C’est le compromis honnête. L’alternative est d’arrêter le trafic pour le regarder.

Une file broker est rapportée mais jamais parcourue

AMQP n’a pas de moyen de regarder un message en file sans le prendre. basicGet plus un requeue réordonnerait la file et réinitialiserait les comptes de livraison sur les messages des clients payants pour satisfaire un diagnostic. Donc la profondeur est rapportée et le dump le dit. Un broker qui ne répond pas rapporte la profondeur comme inconnue plutôt que comme zéro. Ce qui compte, parce que zéro est une affirmation et inconnu ne l’est pas.

Il n’y a délibérément pas de queue flush

Jeter une file détruit des messages qui ont été acceptés, facturés et promis à un client.Pour retirer le trafic d’un vendeur bloqué sans le perdre, utilisez suspend. Il draine la file de ce vendeur vers le routeur pour que le routage puisse en choisir un autre.

Accès

Le token de lecture, pas l’admin. Un dump ne prend rien et ne bouge rien, donc un système de monitoring tenant le secret de surveillance peut le demander.

Connexes

Contrôle des workers

Suspendre, retenir, et ce que chacun fait à une file.

Files et retries

D’où viennent les retries dans cette colonne.