Compartir a través de


EventProcessorClient.OnProcessingErrorAsync Método

Definición

Realiza las tareas necesarias cuando se produce una excepción inesperada dentro del funcionamiento de la infraestructura del procesador 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

Excepción que se produjo durante el funcionamiento del procesador de eventos.

partition
EventProcessorPartition

Contexto de la partición asociada al error, si existe; de lo contrario, null. Esto solo se puede inicializar para los miembros de EventProcessorPartition, dependiendo del punto en el que se produjo el error.

operationDescription
String

Una breve descripción textual de la operación durante la cual se produjo la excepción; diseñado solo para ser informativo.

cancellationToken
CancellationToken

Instancia CancellationToken de para indicar la solicitud para cancelar el procesamiento. Es más probable que esto ocurra cuando el procesador se apaga.

Devoluciones

Comentarios

Este controlador de errores se invoca cuando se observa una excepción dentro del propio procesador de eventos; no se invoca para excepciones en el código que se han implementado para procesar eventos u otras invalidaciones y puntos de extensión que no son críticos para la operación del procesador. El procesador de eventos realizará todos los esfuerzos para recuperarse de las excepciones y continuar el procesamiento. Si se encuentra una excepción que no se puede recuperar, el procesador intentará perder la propiedad de todas las particiones que estaba procesando para que se pueda redistribuir el trabajo.

Las excepciones expuestas a este método pueden ser fatales o no fatales; dado que es posible que el procesador no pueda predecir con precisión si una excepción era grave o si su estado estaba dañado, este método tiene la responsabilidad de tomar la determinación de si el procesamiento debe finalizarse o reiniciarse. El método puede hacerlo llamando a Stop en la instancia del procesador y, si lo desea, llamando a Start en el procesador.

Se recomienda que, en escenarios de producción, la decisión se tome teniendo en cuenta las observaciones realizadas por este controlador de errores, el método invocado al inicializar el procesamiento de una partición y el método invocado cuando se detiene el procesamiento de una partición. Muchos desarrolladores también incluirán datos de sus plataformas de supervisión en esta decisión.

Al igual que con el procesamiento de eventos, si se produce una excepción en el código del controlador de errores, el procesador de eventos le permitirá burbujar y no intentará controlarlo de ninguna manera. Se recomienda encarecidamente a los desarrolladores tener en cuenta escenarios de excepción y protegerse contra ellos mediante bloques try/catch y otros medios según corresponda.

Se aplica a