0
此问题与WebJobs中的QueueTrigger和ErrorTrigger有关。 我在一个公共类中有一个Process Queue方法(请参阅下面的代码)。当发生任何异常(例如Timeout异常)时,我们有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-我又共享代码 –
如果我在ErrorTrigger改变threashold值5,然后也不会打这个方法重试threashold完成后。 –