我有一个计时器功能,该功能每15分钟运行一次(下面的伪代码)。由于第三方服务中的供应商问题,我们会看到失败,接着是延长时间(45分钟,6小时等),其中计时器功能没有执行。
public static class ThirdPartySynchronization
{
private static readonly ThirdPartySdk s_thirdPartySdk = new ThirdPartySdk();
[FunctionName("TimerTriggerCSharp")]
public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
{
try
{
await s_thirdPartySdk.Synchronize();
}
catch (Exception ex)
{
log.Error(ex.Message);
throw;
}
}
}
当我在本地运行该函数并遇到相同的错误状态时,throw
偶尔会导致func.exe
主机崩溃,这使我想知道我们的消费计划中是否发生了类似的问题。
我没有在Azure文档或最佳实践中看到很多有关如何处理异常(或将计时器函数标记为不成功)的指导。是否有建议的任何模式来处理C#Azure计时器功能中的异常行为?
答案 0 :(得分:1)