相关疑难解决方法(0)

Webjobs会自动续订Azure Queue消息的租约吗?

当Webjobs通过QueueTrigger从Azure存储上的队列中获取消息时,它会租用该消息(使其不可见).如果(webjob的)触发功能需要很长时间来处理消息,这个租约是否会自动扩展?或者我应该在功能中处理?

在此链接Windows Azure队列:改进租约,进度跟踪和未来工作的调度,作者声明" 消息的租约可以由执行原始出列的工作人员扩展,以便它可以继续处理消息 "

注意:我尝试了一个等待20分钟的webjob(带有QueueTrigger).

//Write Log
Thread.Sleep(1200000);
//Write Log
Run Code Online (Sandbox Code Playgroud)

它成功完成.在此期间,没有其他webjob实例尝试尝试相同的队列项(它没有变得可见).因此,似乎存在租赁的自动更新机制.无论如何,我正在等待微软员工的回答或官方链接(msdn,azure,...).

c# azure azure-storage-queues azure-webjobs

13
推荐指数
1
解决办法
1195
查看次数

Azure 函数可见性超时

当我阅读有关可见性超时的文档时:https : //docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue#host-json它说“处理消息失败。”。我的理解是,如果超时设置为 30 秒并且我的函数运行了 1 分钟但在这 1 分钟内没有失败,则队列中的其他人看不到该消息。但是当我通过其他来源(stackoverflow fx)阅读它时,它告诉我相反的情况,当函数的执行时间超过超时时,即使函数仍在处理消息,消息也会变得可见。

真相是什么?超时仅在函数没有运行更多(并且可能已经失败)时才相关,或者即使函数仍在运行,消息是否会再次可见?

如果我们假设消息在达到超时时可见,那么没有意义的是默认超时为 00:00:00,这意味着消息在出队的同时可见。这与 3. 党内消息来源的说法相矛盾。

我对此有点困惑。

azure azure-storage-queues azure-functions

7
推荐指数
1
解决办法
2664
查看次数