首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure WebJobs: VisibilityTimeout和MaxDequeuCount不一起工作

Azure WebJobs: VisibilityTimeout和MaxDequeuCount不一起工作
EN

Stack Overflow用户
提问于 2017-06-20 01:48:21
回答 1查看 346关注 0票数 0

我使用的是Azure WebJobs SDK2.0,当我指定VisibilityTimeout然后是MaxDequeuCount时,当消息失败3次时不会从队列中删除,而是只复制到毒队列中。您可以看到DequeueCount大于MaxDequeuCount,并且消息仍然在队列中。

代码语言:javascript
运行
复制
class Program
    {
        // Please set the following connection strings in app.config for this WebJob to run:
        // AzureWebJobsDashboard and AzureWebJobsStorage
        static void Main()
        {
            var config = new JobHostConfiguration();

            if (config.IsDevelopment)
            {
                config.UseDevelopmentSettings();
            }

            config.Queues.BatchSize = 8;
            config.Queues.MaxDequeueCount = 3;
            config.Queues.VisibilityTimeout = TimeSpan.FromSeconds(5);
            config.Queues.MaxPollingInterval = TimeSpan.FromSeconds(3);


            var host = new JobHost(config);
            // The following code ensures that the WebJob will be running continuously
            host.RunAndBlock();
        }
    }

该函数正在抛出一个异常以模拟错误条件。

代码语言:javascript
运行
复制
 public class Functions
    {
        // This function will get triggered/executed when a new message is written 
        // on an Azure Queue called queue.
        public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
        {
            log.WriteLine(message);
            throw new Exception("There was an error processing the message");
        }
    }

三次尝试后,消息将被移动到毒药队列,这是预期的,但大约10分钟后,移动到毒队列的消息再次出现在队列中。控制台输出

在队列中,您可以看到Dequeue计数大于MaxDequeuCount,而且消息仍未从队列中删除。队列

在毒队列中,您可以看到M1消息处理了两次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-21 02:20:23

当队列失败3次时,消息不会从队列中删除,而只是复制到毒队列中。

据我所知,目前我们无法在WebJobs SDK中使用StorageSDK8.x,其他人也报告了类似的问题。

如果您正在使用8.x,请尝试降低的版本。此外,在第二个链接中,asiffermann与示例共享了一个解决方案:编写一个自定义QueueProcessor以在CopyMessageToPoisonQueueAsync中创建一个新的CloudQueueMessage,请参考它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44642535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档