WebJob消息提交总是进入毒性队列而不是实际的队列

时间:2015-11-01 14:23:40

标签: azure-webjobs azure-webjobssdk webjob

我们正在为我们的Web作业使用Webjob最新的SDK,我们看到奇怪的行为,有时我们的队列消息进入毒性队列而不是实际队列。我也没有在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 个答案:

答案 0 :(得分:1)

如果处理失败的次数大于通过JobHostQueuesConfiguration.MaxDequeueCount配置的重试次数,则SDK仅将消息移动到中毒队列。检查消息详细信息 - 可能是消息正文无法反序列化为参数POCO类型。

此外,请重新检查您的信息中心 - 每次功能失败时,您都会收到“失败”信息。进入细节。我自己验证了这一点,在函数失败的情况下,因为消息无法反序列化。