2015-11-01 41 views
0

我們正在使用Webjob最新的SDK作爲我們的Web作業,我們看到奇怪的行爲,一段時間我們的隊列消息去毒隊列而不是實際的隊列。我也沒有在webjob儀表板中發現任何錯誤。有沒有人遇到過這樣的問題。WebJob消息提交總是去毒隊列而不是實際隊列

public async static Task ProcessQueueMessage([QueueTrigger("%QueueName%")] Parameter message, int dequeueCount, TextWriter log) 
{ 
    try 
    { 
    //read parameters 
    //perform db operation last for 2-5 mins 
    } 
    catch 
    { 
    } 
} 
public static void BindToPoisonQueue([QueueTrigger("QueueName-poison")] parameter message, TextWriter log) 
    { 
     log.Write("Problem with message: " + message); 
    } 

我沒有發現問題的代碼,但不知道爲什麼消息自動重定向到毒隊列,而不是實際的隊列。

回答

1

如果處理失敗的處理次數大於通過JobHostQueuesConfiguration.MaxDequeueCount配置的重試次數,則SDK僅將消息移至毒性隊列。檢查消息詳細信息 - 可能是消息正文未能反序列化到參數POCO類型中。

此外,請重新檢查您的儀表板 - 每次功能失敗時,您都會收到一個包含詳細信息的「失敗」條目。我自己驗證了這一點,在函數失敗的情況下,因爲消息失敗了反序列化。

+0

嗨馬修,我沒有看到任何錯誤消息在webjob儀表板。有時候,我看到消息被正確拾取。任何線索都可以解決這類問題。 – user145610