我正在使用帶有「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的某些行爲?