EventProcessorClient.ProcessErrorAsync Événement

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. L’implémentation est obligatoire.

Ce gestionnaire d’erreurs est appelé lorsqu’une exception est observée dans le 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 gestionnaires d’événements et points d’extension qui exécutent du EventProcessorClient code de développeur. Le EventProcessorClient fera 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é. Si vous le souhaitez, vous pouvez effectuer cette opération en toute sécurité en appelant StopProcessingAsync(CancellationToken) et/ou StartProcessingAsync(CancellationToken).

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.

public event Func<Azure.Messaging.EventHubs.Processor.ProcessErrorEventArgs,System.Threading.Tasks.Task> ProcessErrorAsync;
member this.ProcessErrorAsync : Func<Azure.Messaging.EventHubs.Processor.ProcessErrorEventArgs, System.Threading.Tasks.Task> 
Public Custom Event ProcessErrorAsync As Func(Of ProcessErrorEventArgs, Task) 

Type d'événement

Exceptions

Si une tentative est effectuée pour supprimer un gestionnaire qui ne correspond pas au gestionnaire actuel inscrit.

Si une tentative d’ajout d’un gestionnaire est effectuée lorsqu’un gestionnaire est actuellement inscrit.

Remarques

Ce gestionnaire est appelé simultanément et n’est pas attendu par le processeur, car chaque erreur est indépendante. Aucune limite de temps n’est imposée à l’appel de ce gestionnaire ; il est sûr pour les implémentations d’effectuer des opérations de longue durée et de nouvelles tentatives en fonction des besoins.

S’applique à

Voir aussi