Nella mia applicazione ho riscontrato un errore che causa il trasferimento di un numero di messaggi nella coda degli errori. Ora che ho corretto il bug, c'è un modo semplice per spostarli nuovamente nella coda originale in modo che possano essere elaborati?NServiceBus: Come spostare i messaggi dalla coda degli errori
7
A
risposta
11
È possibile utilizzare un semplice strumento da riga di comando, ReturnToSourceQueue.exe
, incluso in NServiceBus.
Si trova nella cartella tools
IIRC.
4
private const string QUEUE_NAME = "private$\\localqueue";
private const string ERROR_QUEUE_NAME = "private$\\localerrorqueue";
if (!MessageQueue.Exists(".\\" + QUEUE_NAME))
return;
if (!MessageQueue.Exists(".\\" + ERROR_QUEUE_NAME))
return;
var messageQueues = MessageQueue.GetPrivateQueuesByMachine(Environment.MachineName);
var queue = messageQueues.Single(x => x.QueueName == QUEUE_NAME);
var errorQueue = messageQueues.Single(x => x.QueueName == ERROR_QUEUE_NAME);
var noOfErrorMessages = errorQueue.GetAllMessages().Count();
if (noOfErrorMessages == 0)
return;
using (var transaction = new MessageQueueTransaction())
{
transaction.Begin();
for (var i = 0; i < noOfErrorMessages; i++)
{
var message = errorQueue.Receive(transaction);
queue.Send(message, transaction);
}
transaction.Commit();
}
Problemi correlati
- 1. I messaggi MSMQ di NServiceBus si bloccano a intermittenza sulla coda in uscita
- 2. Le code di messaggi di NServiceBus si accumulano
- 3. Spostare il messaggio dalla coda Dead Letter alla coda in uscita MSMQ
- 4. ActiveMQ non disconnettere i messaggi Coda
- 5. Coda coda messaggi JS su Heroku
- 6. Eliminazione degli errori di arrotondamento dalla matrice
- 7. Coda messaggi Boost
- 8. RabbitMQ messaggi coda
- 9. Come conservare i messaggi nella coda messaggi JMS se si verificano errori dopo aver consumato il messaggio?
- 10. NServiceBus: vantaggi e svantaggi dell'uso di NServiceBus Distributore
- 11. WebJob che elabora più messaggi alla volta dalla coda
- 12. come eliminare i messaggi nella coda del broker di servizi
- 13. Come posso rimuovere i messaggi da una coda?
- 14. MassTransit con RabbitMQ: ripristino della coda errori
- 15. NServiceBus: Impossibile trovare i metadati per (messaggio)
- 16. Come spostare più messaggi in mutt
- 17. Coda messaggi basata su Memcache?
- 18. NServiceBus e NHibernate - Message Handler e transazioni
- 19. Come disabilitare completamente i tentativi di NServiceBus
- 20. Zoccoli non bloccanti: i messaggi sono in coda?
- 21. Perché i miei messaggi WCF in coda scompaiono silenziosamente?
- 22. C'è un modo semplice per iscriversi alla coda degli errori di default in EasyNetQ?
- 23. nginx bufferizza i propri log degli errori?
- 24. Esiste un gestore di eccezioni globale per NServiceBus?
- 25. NServiceBus Pubblica/sottoscrivi
- 26. NSURLManagement degli errori di sessione
- 27. Modifica messaggi MSMQ in una coda
- 28. NServiceBus - Come ottenere una coda separata per ogni tipo di messaggio destinatario del destinatario?
- 29. Come gestire la coda degli errori in openssl (SSL_get_error e ERR_get_error)
- 30. Best practice Gestione degli errori
E se si riflette queste assemblee, è abbastanza facile da capire come fare ulteriore utensili che circonda questo processo in modo che non sempre è necessario accedere al server ed eseguire un tool a riga di comando. –