EventProcessorClient.OnProcessingErrorAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
Azure SDK for .NET