Итак, я получил сообщения об обработке моего хоста. что оно делает? получение сообщения, содержащего адрес электронной почты, тело и тему. и отправьте электронное письмо с помощью smtp.nservicebus хост не удалит сообщения из очереди
поэтому в производстве, у одного из наших клиентов, я вижу 370 сообщений в очереди. никакие сообщения не выходят из очереди. только новые сообщения вступают.
Я посмотрел журнал. что есть:
2016-04-28 17:35:10,243 [DAPROD01] [3] [] INFO : Failed to process message
System.Net.Mail.SmtpException: The operation has timed out.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at EmailServiceHost.Utilities.EmailSender.Send(String recipient, String subject, String body) in e:\r-release\src\EmailServiceHost\Utilities\EmailSender.cs:line 24
at NServiceBus.Unicast.HandlerInvocationCache.Invoke(Object handler, Object message, Dictionary`2 dictionary) in :line 0
at NServiceBus.Pipeline.Behaviors.InvokeHandlersBehavior.DispatchMessageToHandlersBasedOnType(IBuilder builder, LogicalMessage toHandle, LoadedMessageHandlers loadedHandlers, BehaviorContext context) in :line 0
at NServiceBus.Pipeline.Behaviors.InvokeHandlersBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.Sagas.SagaPersistenceBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.Pipeline.Behaviors.LoadHandlersBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.Pipeline.Behaviors.CallbackInvocationBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.Pipeline.Behaviors.ApplyIncomingMessageMutatorsBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.Pipeline.Behaviors.ExtractLogicalMessagesBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.Pipeline.Behaviors.ApplyIncomingTransportMessageMutatorsBehavior.Invoke(BehaviorContext context, Action next) in :line 0
at NServiceBus.UnitOfWork.UnitOfWorkBehavior.Invoke(BehaviorContext context, Action next) in :line 0
2016-04-28 17:35:10,602 [DAPROD01] [48] [] ERROR: Message has failed FLR and will be moved to the configured error q, ID=ec40ebe5-90a5-4014-be42-a5f500877d2a.
2016-04-28 17:36:50,689 [DAPROD01] [48] [] INFO : Failed to process message
System.Transactions.TransactionAbortedException: The transaction has aborted.
at System.Transactions.TransactionStatePromotedAborted.BeginCommit(InternalTransaction tx, Boolean asyncCommit, AsyncCallback asyncCallback, Object asyncState)
at System.Transactions.CommittableTransaction.Commit()
at System.Transactions.TransactionScope.InternalDispose()
at System.Transactions.TransactionScope.Dispose()
at NServiceBus.Transports.Msmq.MsmqDequeueStrategy.Action() in :line 0
поэтому вы заметили, что первая ошибка содержит тайм-аут клиента smtp. следующие 200 ошибок говорят только «Не удалось обработать сообщение».
сообщения не выходят из частной очереди.
Пересылаются ли сообщения в очередь ошибок или они остаются во входной очереди? –
Я с Томом. Если сообщения продолжают сбой, их следует перенести в очередь ошибок bij NServiceBus. Возможно, их подхватили и снова переместили в очередь, или переместили в очередь попыток или очередь ошибок. Каковы ваши настройки при повторных попытках первого уровня, повторных попытках второго уровня и очереди ошибок и аудита? –
Они не попадают в очередь ошибок. Я получил все настройки по умолчанию (значение 5 FLR и без SLR). сообщения просто остаются в очереди. – user3329192