Cette question est liée à QueueTrigger et ErrorTrigger dans WebJobs. J'ai une méthode Process Queue dans une classe publique (voir le code ci-dessous). Lorsqu'une exception survient (par exemple, exception Timeout), nous essayons à nouveau de traiter la file d'attente. Après 5 tentatives infructueuses, nous voulons envoyer un message d'alerte à un destinataire. Pour ce faire, j'ai ajouté une méthode en utilisant l'attribut ErrorTrigger (voir le code ci-dessous) et en définissant le seuil et la valeur de la fenêtre. Mais dans mon cas après 5 réessayer, il ne frappe pas la méthode ErrorTrigger. Pourriez-vous s'il vous plaît regarder ce code et laissez-moi savoir où je me trompe? Et s'il y a un autre moyen d'envoyer un mail d'alerte après 5 tentatives infructueuses, merci de m'aider.Azure WebJobs SDK ErrorTrigger
public static class ProcessQueue
{
public static void ProcessQueue([QueueTrigger("testqueue")] string queueMessage, TextWriter logger)
{
try
{
if (logger != null)
{
//logger.WriteLine(filter.GetDetailedMessage(5));
//message.Text = filter.GetDetailedMessage(1);
}
throw new TimeoutException(); // Intentionaly throwing timeout exception
}
catch (Exception ex)
{
throw ex;
}
}
public static void ErrorMonitor(
[ErrorTrigger("00:00:10", 4)] TraceFilter filter, TextWriter log,
[SendGrid(To = "[email protected]", Subject = "Error!")]
SendGridMessage message)
{
// log last 5 detailed errors to the Dashboard
log.WriteLine("Test");
message.Text = "Failed";
}
}
semble uncleand- Je partage de code à nouveau –
Si je change la valeur threashold dans ErrorTrigger à 5 puis aussi ne pas frapper cette méthode après nouvelle tentative threashold complète. –