我正在使用带有“TimerTrigger”属性的Azure WebJob函数,以便在某个特定时间每天早上排队某些用户的电子邮件。根据阅读,我知道这应该表现为一个Singleton,并且只在所有横向扩展实例中触发一次。但是,用户报告收到两封电子邮件,并且日志记录显示该功能正在被调用两次。为什么是这样?为什么AzureWebJob中的TimerTrigger被触发两次?
下面是相关功能:
public static void EnqueueAllSummaries([TimerTrigger("0 15 8 * * *")] TimerInfo timer, TextWriter logger)
记录显示这是在2016年2月26日11时38分41秒UTC和2016年2月26日11点39分五十〇秒UTC触发。两次都成功完成,报告12和13秒的运行时间。
这是一个单一的实例,虽然我确实启用了一个部署槽。但是,部署插槽没有启用此WebJob,并且在那里的日志证实这不是从此部署插槽触发的。 (以上时间来自生产实例的“WebJobs”选项卡)
为什么会触发两次?我的cron-fu关闭了,还是我误解了Azure WebJobs的某些行为?