如果我使用Azure.Storage.QueueQueueTrigger屬性可見性超時
queue.GetMessage(TimeSpan.FromMinutes(20));
試圖用Azure.WebJobs(SDK時,我可以設置可見性超時,但是從隊列得到一個消息0.4.0-測試版)的屬性一webjob自動綁定到一個隊列
即
public static void ProcessQueueMessage([QueueTrigger("myqueue")] string message){
//do something with queue item
}
有沒有一種方法來設置該屬性的可見性超時?在JobHostConfiguration()中似乎沒有選項。隊列。如果沒有辦法覆蓋,那麼它是標準的30秒嗎?
visibilityTimeout的參數值總是默認爲0.我試着通過_queue.UpdateMessage(message,new TimeSpan(0,2,0),MessageUpdateFields.Visibility)來設置它。但這似乎並不影響價值。任何想法如何設置這個參數的第一位或如何實現它? – Proteux 2016-07-19 17:13:20
在SDK的1.1.2版本中,visibilityTimeout被硬編碼爲10分鐘,但在5分鐘後,租約被擴展:https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft .Azure.WebJobs.Host/Queues/Listeners/QueueListener.cs#L279-L289 – sjkp 2016-08-30 20:05:21
@john我剛剛在一個全新的1.1.2 SDK應用程序中驗證了自己,應用了以上所做的重寫超時。我也用了1分鐘。在我添加自定義隊列處理器覆蓋之前,該消息連續快速重試5次。隨着重寫,每分鐘重試一次。所以放心,它的工作。我建議你在我們的repo https://github.com/Azure/azure-webjobs-sdk/issues上用完整的代碼和repro步驟記錄一個bug,這樣我們可以找出你可能會出錯的地方。 – mathewc 2017-02-07 01:29:37