我有一个由队列消息触发的网络作业。如果作业时间太长,则该消息会重新出现在队列中,并使用相同的消息触发新的Web作业实例。那不应该是。
一旦该消息触发了作业,我们希望将该消息从消息队列中删除。
我们已经设置MaxDequeueCount = 1
,以为它将尝试处理一次消息,然后将消息移至Poison Queue。但是MaxDequeueCount对我们不起作用。在我们的工作中,我们使用的是Microsoft.WindowsAzure.Storage
的8.7.0.0版本。
请帮助!
JobHostConfiguration config = new JobHostConfiguration();
config.NameResolver = new QueueNameResolver();
config.Queues.BatchSize = Convert.ToInt32(ConfigurationManager.AppSettings["BatchSize"]);
config.Queues.MaxDequeueCount = Convert.ToInt32(ConfigurationManager.AppSettings["MaxDequeueCount"]);
var host = new JobHost(config);
host.RunAndBlock();
答案 0 :(得分:0)
我认为您正在达到消息租用超时。您应该可以使用UpdateMessage来延长租约(根据this capabilities comparison可以将租约延长到7天)。
希望有帮助!
答案 1 :(得分:0)