Partilhar via


EventProcessorClient.OnProcessingErrorAsync Método

Definição

Executa as tarefas necessárias quando ocorre uma exceção inesperada dentro da operação da infraestrutura do processador de eventos.

protected override System.Threading.Tasks.Task OnProcessingErrorAsync (Exception exception, Azure.Messaging.EventHubs.Primitives.EventProcessorPartition partition, string operationDescription, System.Threading.CancellationToken cancellationToken);
override this.OnProcessingErrorAsync : Exception * Azure.Messaging.EventHubs.Primitives.EventProcessorPartition * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Protected Overrides Function OnProcessingErrorAsync (exception As Exception, partition As EventProcessorPartition, operationDescription As String, cancellationToken As CancellationToken) As Task

Parâmetros

exception
Exception

A exceção que ocorreu durante a operação do processador de eventos.

partition
EventProcessorPartition

O contexto da partição associada ao erro, se houver; caso contrário, null. Isso só pode ser inicializado para membros de EventProcessorPartition, dependendo do ponto em que o erro ocorreu.

operationDescription
String

Uma breve descrição textual da operação durante a qual ocorreu a exceção; destina-se a ser somente informativo.

cancellationToken
CancellationToken

Uma CancellationToken instância para sinalizar a solicitação para cancelar o processamento. É mais provável que isso ocorra quando o processador está sendo desligado.

Retornos

Comentários

Esse manipulador de erros é invocado quando há uma exceção observada no próprio processador de eventos; ele não é invocado para exceções no código que foram implementadas para processar eventos ou outras substituições e pontos de extensão que não são essenciais para a operação do processador. O processador de eventos fará todos os esforços para se recuperar de exceções e continuar o processamento. Caso uma exceção que não possa ser recuperada seja encontrada, o processador tentará perder a propriedade de todas as partições que estava processando para que o trabalho possa ser redistribuído.

As exceções apresentadas a esse método podem ser fatais ou não fatais; porque o processador pode não ser capaz de prever com precisão se uma exceção foi fatal ou se seu estado foi corrompido, esse método tem a responsabilidade de determinar se o processamento deve ser encerrado ou reiniciado. O método pode fazer isso chamando Parar na instância do processador e, se desejado, chamando Iniciar no processador.

É recomendável que, para cenários de produção, a decisão seja tomada considerando observações feitas por esse manipulador de erros, o método invocado ao inicializar o processamento de uma partição e o método invocado ao processar uma partição. Muitos desenvolvedores também incluirão dados de suas plataformas de monitoramento nesta decisão.

Assim como ocorre com o processamento de eventos, se ocorrer uma exceção no código do manipulador de erros, o processador de eventos permitirá que ele seja bolhas e não tentará manirá-lo de forma alguma. Os desenvolvedores são fortemente incentivados a levar em conta cenários de exceção e se proteger contra eles usando blocos try/catch e outros meios conforme apropriado.

Aplica-se a