为什么AzureWebJob中的TimerTrigger被触发两次?

时间:2016-02-26 18:29:32

标签: azure cron azure-webjobs azure-webjobssdk

我正在使用Azure WebJob函数和#34; TimerTrigger"属性以在某个时间每天早晨为某些用户排队电子邮件。基于阅读,我理解这应该表现为单身人士,并且只在所有横向扩展实例中触发一次。但是,用户报告收到两封电子邮件,并且日志记录显示该函数被调用两次。这是为什么?

以下是相关功能:

public static void EnqueueAllSummaries([TimerTrigger("0 15 8 * * *")] TimerInfo timer, TextWriter logger)

记录显示这是在UTC时间02/26/2016 11:38:41 UTC和02/26/2016 11:39:50 UTC触发的。两次都成功完成,报告12和13秒运行时间。

这是一个单一实例,但我确实启用了部署插槽。但是,部署插槽没有启用此WebJob,并且其中的日志确认未从此部署插槽触发此操作。 (以上时间来自生产实例" WebJobs"标签)

为什么会被触发两次?我的cron-fu是关闭还是我误解了Azure WebJobs的一些行为?

1 个答案:

答案 0 :(得分:3)

使用插槽时,TimerTrigger管理计划跟踪的方式存在错误(请参阅issue here)。它已被修复,并且有一个预发布版本,其他人已经确认修复了这些问题。

请确认新版本为您解决了问题,并随时在公共回购问题上添加更多问题/评论。上面链接的问题提供了有关如何从MyGet中提取预发布版本的详细信息。