我有一个具有 3 个函数的函数应用程序,其中一个函数每 2 分钟触发一次。我观察到一段时间后,该功能停止被触发,但当我进入门户时重新启动。
据我了解,原因是默认情况下,“始终开启”处于关闭状态。但是,当我进入应用程序设置/常规设置时,我无法激活灰显的“开启”状态。我可以取消选中“关闭”,它似乎不会粘住或激活“开启”。
我错过了一些明显的东西吗?Always-On 是我的问题的解决方案,还是我应该做的其他事情?
注意:函数是用 F# 编写的;我怀疑这很重要,但我想我会提到它以防万一。
我有一个具有 3 个函数的函数应用程序,其中一个函数每 2 分钟触发一次。我观察到一段时间后,该功能停止被触发,但当我进入门户时重新启动。
据我了解,原因是默认情况下,“始终开启”处于关闭状态。但是,当我进入应用程序设置/常规设置时,我无法激活灰显的“开启”状态。我可以取消选中“关闭”,它似乎不会粘住或激活“开启”。
我错过了一些明显的东西吗?Always-On 是我的问题的解决方案,还是我应该做的其他事情?
注意:函数是用 F# 编写的;我怀疑这很重要,但我想我会提到它以防万一。
此答案适用于所有 Azure Function 方案,但由 http 请求触发的方案除外。
有3个案例可以看:
Azure Functions 由 Azure App Service 共同管理,该服务始终限制在Basic 或以上模式(无免费或共享)
在基本或标准模式下,您可以启用 Always On 以始终保持应用程序加载。
如果您在免费/共享应用程序服务计划中,您可以做一个小技巧,它可以完美运行。使用像freshping.io这样的ping服务,每5秒/自定义间隔ping你的函数url,防止你的应用程序空闲。Freshping.io 为您提供 5 个免费的 ping 网址。
注意:ping url 不计入 CPU 运行时间,除非您 ping 实际功能。所以它不会影响你的时间限制。
希望这可以帮助。