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