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完成後。 –