Этот вопрос связан с QueueTrigger и ErrorTrigger в WebJobs. У меня есть один метод очереди процесса внутри одного открытого класса (см. Код ниже). Когда возникает какое-либо исключение (например, исключение тайм-аута), у нас есть 5 попыток повторить попытку обработки очереди. После 5 безуспешных попыток мы хотим отправить сообщение оповещения одному получателю. Для этого я добавил один метод с использованием атрибута ErrorTrigger (см. Код ниже) и установки порога и значения окна. Но в моем случае после 5 повторений он не попадает в метод ErrorTrigger. Не могли бы вы посмотреть этот код и сообщить мне, где я делаю неправильно? И если есть другой способ отправить оповещение после 5 неудачных попыток повтора, пожалуйста, помогите мне.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";
}
}
Пример кода выглядит uncleand- Я делюсь код снова –
Если изменить threashold значение в ErrorTrigger до 5, то и не ударять этот метод после повторных попыток threashold завершения. –