62. pepsi-queue¶
Inspecter et réparer la file d’attente des messages.
62.1. Rôle¶
pepsi-queue est l’outil de diagnostic et de réparation de l’opérateur pour la table pepsi.workqueue. Il se connecte via la section partagée [pepsi-postgres] et n’a aucune configuration propre. Démarré en tant que root, il poursuit sous le compte de service pepsi avant de se connecter, de sorte qu’aucun sudo -u pepsi n’est nécessaire. Référence : pepsi-queue(1).
62.2. Fonctionnalités¶
list — lister les messages en file, ordonnés par
workqueue_id, éventuellement en--json(workqueue_id,stage,status,mail_from,subject,received_at,state), avec--limit(100 par défaut), les filtres--stageet--status, un positionnel WORKQUEUE_ID facultatif qui restreint la sortie à un seul message, et--state-onlypour imprimer lestateJSON complet et non abrégé de chaque message correspondant au lieu du résumé de ligne.listest l’action par défaut, de sorte que son positionnel et ses options sont aussi acceptés nus (pepsi-queue 5,pepsi-queue --state-only 5).delete WORKQUEUE_ID — supprimer définitivement un message.
set-stage WORKQUEUE_ID STAGE — réaffecter un message à une étape donnée et réinitialiser son
statusàpending(sonstateest laissé inchangé) afin que la nouvelle étape le prenne.clear-all — « déblocage » en masse : réinitialiser chaque message
running/pausedàpending(failed/timeoutsont laissés intacts) — la récupération utilisée après un plantage ou une étape calée.gc — nettoyer la table des nonces de preuve d’origine (
pepsi.origin_nonce), en supprimant les entrées dont l’expiration est passée, ainsi que le cache d’adresses MX (pepsi.dns_address), en supprimant les lignes dont le TTL DNS est écoulé. Prévu pour une minuterie ; le paquet Debian en câble une horaire.
Les sous-commandes qui modifient agissent immédiatement et ne sont pas réversibles. set-stage et clear-all réveillent en outre le dispatcher (pepsi.workqueue ne porte aucun déclencheur de notification, et celles-ci s’exécutent hors de la boucle propre au dispatcher, de sorte que rien d’autre ne le ferait). N’exécutez ``clear-all`` que pendant que ``pepsi-dispatch`` est arrêté : la moitié running nomme des lignes qu’un worker vivant peut encore détenir, et les réinitialiser signifie que le même message est revendiqué et traité deux fois.
62.3. Relation avec le dispatcher¶
pepsi-queue manipule les mêmes colonnes stage/status/state sur lesquelles agit le dispatcher ; clear-all complète la réinitialisation, au démarrage, des lignes running orphelines que le dispatcher effectue lui-même. Il ne démarre pas de programmes d’étape.
62.4. Voir aussi¶
pepsi-dispatch, Architecture, pepsi-queue(1), pepsi.conf(5).