我正在使用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的一些行为?
答案 0 :(得分:3)
使用插槽时,TimerTrigger管理计划跟踪的方式存在错误(请参阅issue here)。它已被修复,并且有一个预发布版本,其他人已经确认修复了这些问题。
请确认新版本为您解决了问题,并随时在公共回购问题上添加更多问题/评论。上面链接的问题提供了有关如何从MyGet中提取预发布版本的详细信息。