我的azure功能中有以下代码,手动超时为5分钟。
当我在azure中运行上述函数时,我看到该函数在3分钟后创建一个新实例。(查看下图) 两个实例都成功完成,但返回状态:504网关超时,这反过来又无法执行我的功能。 我已在应用服务计划中托管该功能,并且还将 host.json 文件中的超时时间增加到10分钟
"functionTimeout": "00:10:00"
答案 0 :(得分:0)
这里有几个问题:
超时 - host.json中的函数超时适用于底层函数运行时;不是http管道。你不应该有一个运行超过一分钟的http函数。 http调用将独立于运行时超时(如您所见)。但是,您可以将该超时用于长时间运行(即,应用程序计划上的60分钟)队列触发器。如果您需要长时间运行的函数,http调用可以为队列触发器排队消息,或者您可以使用Durable Function支持。
为什么要再次调用?这里最简单的解释是你的函数只是接收第二个http请求消息。你有证据证明不的情况?您可以绑定到HttpRequestMessage并记录其他http请求属性以跟踪此情况。