2016-02-26 35 views
1

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

回答

3

使用插槽時,TimerTrigger管理日程安排跟蹤的方式存在一個錯誤(請參閱issue here)。它已被修復,並且有一個預發佈版本,修復程序已被其他人確認爲他們解決了問題。

請確認新版本爲您解決了問題,並隨時在公共回購問題上添加更多問題/評論。上面鏈接的問題提供了有關如何從MyGet中獲取預發佈版本的詳細信息。

相關問題