2017-06-20 79 views
0

我有一個Azure WebJob,我使用CloudQueue與它通信。 從我的Web應用程序:Azure無法將消息添加到隊列

logger.Info("Writing Conversion Request to Document Queue " + JsonConvert.SerializeObject(blobInfo));                        
var queueMessage = new CloudQueueMessage(JsonConvert.SerializeObject(blobInfo));                        
documentQueue.AddMessage(queueMessage); 

我覈實,我看到被寫入的信息陳述我的日誌文件。

然而,當我去我的隊列:

enter image description here

什麼令我感到困惑,甚至更多......這隊列已滿的消息之前,包括今天晚上的時間戳。

我去了並清除了我的隊列,並在清除它之後,它將不再接收消息。

有沒有人見過這個?

+0

兩件事:1)WebJob可能已經完全處理了這個消息,並且2)使用其他工具(例如Microsoft的存儲瀏覽器)來驗證隊列的內容。 –

+0

@GauravMantri未處理的消息...我在WebJob中調試器連接/斷點。 2.謝謝我會下載並安裝這個。 –

+0

@GauravMantri好吧,我會咬人的......我下載了Microsoft存儲資源管理器,我的所有消息都在'文件 - poision'中。有任何想法嗎? –

回答

2

由於Gaurav Mantri在評論中提到消息應該由WebJob處理。當它達到最大嘗試次數時,將被移至毒性隊列。

我們也可以從azure官方tutorials獲得更多有關毒訊的詳細信息。以下是tutorials的片段。

其內容導致功能失敗的消息被稱爲有害消息。當函數失敗時,隊列消息不會被刪除並最終被再次拾取,導致循環被重複。 SDK可以在有限次數的迭代後自動中斷循環,也可以手動完成。

SDK將最多調用5次函數來處理隊列消息。如果第五次嘗試失敗,該消息將被移至毒性隊列The maximum number of retries is configurable

相關問題