Отправка сообщения веб-задания всегда отправляется в очередь отравления, а не в фактическую очередь

Мы используем последнюю версию SDK 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);
    }

Я не вижу проблем с кодом, но не уверен, почему сообщения автоматически перенаправляются в очередь отравления, а не в реальную очередь.


person user145610    schedule 01.11.2015    source источник


Ответы (1)


Пакет SDK перемещает сообщение в подозрительную очередь только в том случае, если оно не удалось обработать в несколько раз больше, чем число повторных попыток, настроенное с помощью JobHostQueuesConfiguration.MaxDequeueCount. Проверьте сведения о сообщении — возможно, тело сообщения не может быть десериализовано в ваш тип параметра POCO.

Кроме того, пожалуйста, перепроверьте свою панель инструментов — каждый раз, когда функция дает сбой, вы получаете запись «Сбой» с подробностями. Я только что проверил это сам, в случае, когда функция дает сбой, потому что сообщение не может быть десериализовано.

person mathewc    schedule 02.11.2015
comment
Привет, Мэтью, я не вижу сообщений об ошибках на панели управления webjob. Иногда я вижу, что сообщения принимаются правильно. Любая подсказка, чтобы устранить проблемы такого рода. - person user145610; 07.11.2015