当 Webjobs 通过 QueueTrigger 从 Azure 存储上的队列中获取消息时,它会租用该消息(使其不可见)。如果(webjob)的触发功能需要很长时间来处理消息,这个租约是否会自动延长?或者我应该在函数中处理它?
在此链接Windows Azure Queues: Improvement Leases, Progress Tracking, and Scheduling of Future Work上,作者指出“消息的租约可以由执行原始出队的工作人员延长,以便它可以继续处理消息”
注意:我尝试了一个等待 20 分钟的网络作业(带有 QueueTrigger)。
//Write Log
Thread.Sleep(1200000);
//Write Log
它已成功完成。在此期间,没有其他 webjob 实例尝试尝试相同的队列项目(它没有变得可见)。因此,似乎存在租赁的自动续订机制。无论如何,我正在等待 Microsoft 员工或官方链接(msdn,azure,...)的答复。