我知道Azure Functions3.0正在预览中,但我们最好尽快赶上bug。
大多数时候没有问题,但我每天大约有2次会出现这样的错误:
Microsoft.azure.ServiceBus.MessageLockLostException:at Microsoft.azure.ServiceBus.core.MessageReceiver+D__99.MoveNext(Microsoft.azure.ServiceBus,version=4.1.1.0,Culture=Neutrine,PublicKeyToken=7E34167DCC6D6D8C)at System.runtime.ExceptionServices.ExceptionDispatchinfo.Throw(在Microsoft.azure.servicebus.retryPolicy+D__19处的moveNext(Microsoft.azure.servicebus,版本=4.1.1.0,版本=4.1.1.0,版本=publickeytoken=7e34167dcc6d6c),System.runtime.exceptionservices.exceptiondispatchinfo.throw(System.private.corelib,版本=4.0.0.0,文化=neutrine,publickeytoken=7cec85d7bea7798e).RetryPolicy+D__19.MoveNext(Microsoft.Azure.ServiceBus,版本=4.1.1.0,Culture=Neutrine,PublicKeyToken=7E34167DCC6D6D8C).runtime.exceptionServices.exceptionDispatchinfo.throw(system.private.corelib,version=4.0.0.0,Culture=neutral,PublicKeyToken=7CEC85D7BEA7798E)在system.runtime.compilerServices.taskaWaiter.throwfornonSuccess(system.private.corelib,version=4.0.0.0,Culture=neutral,PublicKeyToken=7CEC85D7BEA7798E)在Microsoft.azure.servicebus.core.messageReceiver+D__68.moveNext(Microsoft.azure.ServiceBus,版本=4.1.1.0,Culture=Neutral,PublicKeyToken=7E34167DCC6D6D8C)在System.runtime.ExceptionServices.ExceptionDispatchinfo.Throw(System.runtime.ExceptionServices.ExceptionDispatchinfo.Throw(System.private.Corelib,版本=4.0.0.0,relib,version=4.0.0,culture=neutrine,PublicKeyToken=7CEC85D7BEA7798E)位于System.runtime.CompilerServices.taskaWaiter.HandleNonSuccessandDebuggerNotification(System.Private.corelib,version=4.0.0.0,Culture=Neutrine,PublicKeyToken=7CEC85D7BEA7798E)在Microsoft.azure.Servicebus.MessageReceivePump+D__16。MoveNext(Microsoft.azure.ServiceBus,version=4.1.1.0,Culture=Neutrine,PublicKeyToken=7E34167DCC6D6D8C)
我更改了消息TTL=30分钟,锁定持续时间=2分钟,最大传递计数=10(默认值)。所以这些设置不应该影响我所相信的任何事情。
谁能告诉我为什么我会得到这些错误,以及如何修复它?
MessageLockLostException
指示函数处理消息的时间超过了队列中定义的LockDuration
。您可以将时间增加到5分钟,但这仍然可能发生。我建议记录执行时间,并分析引发异常时您的函数花了多长时间。
附注:TimeTolive
和MaxDeliveryCount
与此问题无关。
我已经创建了一个Azure webwork,它将向服务总线队列发送强类型消息,并成功发送。 我想创建另一个webjob,只要servicebus队列中有消息,就会触发该webjob。请在下面找到我正在尝试的代码。出于某种原因,尽管servicebus队列中有消息,但当我在本地运行webjob时,webjob未被触发并出现错误。 错误: 代码: 有谁能帮我解决这个问题吗? 谢谢
我目前正在评估使用一个服务总线和azure函数来触发一些需要通过下游api调用来完成的工作。这都是相当标准的,只是我没有很好地处理当下游系统过载和/或返回header到trottle时会发生什么(即每分钟最大调用数/等)。对于队列触发器的强制节流,我们似乎没有任何动态控制。 我知道我们可以手动设置最大并发,但这并不一定解决问题,因为我们无法控制下游系统,需要考虑它随时可能脱机或变慢。 假设消费计划
我正在尝试绑定到Azure服务总线触发函数中的。 我的目标是处理死信队列消息并完成它们。 问题是它无法绑定到MessageReceiver类。 微软蔚蓝色的网络作业。主机:错误索引方法“Function1”。微软蔚蓝色的网络作业。主机:无法将参数“receiver”绑定到类型MessageReceiver。确保绑定支持参数类型。如果您使用的是绑定扩展(例如Azure Storage、Service
如果有人感兴趣,服务总线设置也在下面: 提前致谢
创建了Azure函数,该函数是在Visual Studio中触发并从Visual Studio发布到Azure的服务总线。 每当消息进入队列时,手动运行时,该函数在本地正常运行。但我们的期望是,当消息在队列中时,函数应该自动触发。 我只是手动添加一条新消息,并查看日志,如果函数被自动触发,但它不是。当我检查应用程序洞察时,我发现下面的错误日志 函数“ProcessVideos”的侦听器无法启动。服
我正在使用应用服务计划进行 azure 函数,并添加了 blob 触发器,但是当任何文件上传到 blob 容器时,函数没有触发.或者有时它花了太多时间,然后在它开始触发之后。任何建议将不胜感激 它应该在新文件上传到 Blob 容器时触发该函数。