繁体   English   中英

Azure WebJobs SDK错误触发

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM