TL; DR: Ho bisogno di "riprodurre" i messaggi di lettere morte nelle loro code originali dopo aver corretto il codice del consumatore che originariamente causava il rifiuto dei messaggi.Gestione delle lettere morte in RabbitMQ
Ho configurato il Dead Letter Exchange (DLX) per RabbitMQ e sto inoltrando correttamente i messaggi rifiutati a una coda di messaggi non recapitati. Ma ora voglio guardare i messaggi nella coda delle lettere morte e cercare di decidere cosa fare con ciascuno di essi. Alcuni (molti?) Di questi messaggi dovrebbero essere rieseguiti (rimessi in coda) nelle loro code originali (disponibili nelle intestazioni "x-death") una volta che il codice del consumatore illecito è stato corretto. Ma come faccio a fare questo? Devo scrivere un programma one-off che legge i messaggi dalla coda delle lettere morte e mi consente di specificare una coda di destinazione per inviarli? E che dire della ricerca della coda di lettere morte? Cosa succede se so che un messaggio (diciamo che è codificato in JSON) ha un determinato attributo che voglio cercare e riprodurre? Ad esempio, correggo un difetto che so consentirà il messaggio con PacketId: 1234 per elaborare correttamente ora. Potrei anche scrivere un programma una tantum per questo, suppongo.
Non posso certamente essere il primo a incontrare questi problemi e mi chiedo se qualcun altro li abbia già risolti. Sembra che ci dovrebbe essere una sorta di coltellino svizzero per questo genere di cose. Ho fatto una ricerca piuttosto ampia su Google e Stack Overflow ma non mi è venuta molto in mente. La cosa più vicina che ho trovato sono pale, ma non mi sembra lo strumento giusto per il lavoro.
Non ho trovato i collegamenti particolarmente utili, ma per il resto apprezzo molto la tua risposta approfondita. Grazie! – Dan
sì, davvero non ho letto quei link. Stavo solo cercando di trovare qualcosa che potesse essere d'aiuto. probabilmente dovrebbe averli letti prima di pubblicarli. : P –