[英]Azure WebJobs SDK ErrorTrigger
此问题与WebJobs中的QueueTrigger和ErrorTrigger有关。 我在一个公共类中有一个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 = "abc@gmail.com", Subject = "Error!")]
SendGridMessage message)
{
// log last 5 detailed errors to the Dashboard
log.WriteLine("Test");
message.Text = "Failed";
}
}
在您的示例中, [ErrorTrigger("00:00:10", 4)]
不是该错误触发器:“如果在10秒钟内出现4个错误”(请参见Error-Monitoring )-对于队列。
尝试[ErrorTrigger("00:05:00", 4)]
= 5分钟内出现四个故障
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.