Partager via


EventProcessorClient.OnProcessingErrorAsync Méthode

Définition

Effectue les tâches nécessaires lorsqu’une exception inattendue se produit dans le fonctionnement de l’infrastructure du processeur d’événements.

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

Paramètres

exception
Exception

Exception qui s’est produite pendant le fonctionnement du processeur d’événements.

partition
EventProcessorPartition

Contexte de la partition associée à l’erreur, le cas échéant ; sinon, null. Cela peut être initialisé uniquement pour les membres de EventProcessorPartition, selon le point auquel l’erreur s’est produite.

operationDescription
String

Brève description textuelle de l’opération au cours de laquelle l’exception s’est produite ; destiné à être à information uniquement.

cancellationToken
CancellationToken

Un CancellationToken instance pour signaler la demande d’annulation du traitement. Cela est le plus susceptible de se produire lorsque le processeur s’arrête.

Retours

Remarques

Ce gestionnaire d’erreurs est appelé lorsqu’une exception est observée dans le processeur d’événements lui-même ; il n’est pas appelé pour les exceptions dans le code qui a été implémenté pour traiter des événements ou d’autres remplacements et points d’extension qui ne sont pas critiques pour le fonctionnement du processeur. Le processeur d’événements déploiera tous les efforts nécessaires pour récupérer à partir d’exceptions et poursuivre le traitement. Si une exception qui ne peut pas être récupérée est rencontrée, le processeur tentera de perdre la propriété de toutes les partitions qu’il traitait afin que le travail puisse être redistribué.

Les exceptions exposées à cette méthode peuvent être fatales ou non mortelles; Étant donné que le processeur peut ne pas être en mesure de prédire avec précision si une exception a été irrécupérable ou si son état a été endommagé, cette méthode a la responsabilité de déterminer si le traitement doit être arrêté ou redémarré. La méthode peut le faire en appelant Stop sur le processeur instance puis, si vous le souhaitez, en appelant Start sur le processeur.

Il est recommandé que, pour les scénarios de production, la décision soit prise en tenant compte des observations effectuées par ce gestionnaire d’erreurs, de la méthode appelée lors de l’initialisation du traitement d’une partition et de la méthode appelée lors de l’arrêt du traitement d’une partition. De nombreux développeurs incluront également les données de leurs plateformes de supervision dans cette décision.

Comme pour le traitement des événements, si une exception se produit dans le code pour le gestionnaire d’erreurs, le processeur d’événements l’autorise à bulles et n’essaie pas de la gérer de quelque manière que ce soit. Les développeurs sont vivement encouragés à prendre en compte les scénarios d’exception et à les protéger à l’aide de blocs try/catch et d’autres moyens, le cas échéant.

S’applique à