Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 我如何打开";“永远在线”;对于Azure函数?_F#_Azure Functions_Timer Trigger - Fatal编程技术网

F# 我如何打开";“永远在线”;对于Azure函数?

F# 我如何打开";“永远在线”;对于Azure函数?,f#,azure-functions,timer-trigger,F#,Azure Functions,Timer Trigger,我有一个功能应用程序,有3个功能,其中一个每2分钟触发一次计时器。我观察到,过了一段时间,函数停止被触发,但在我转到门户时重新启动 据我所知,原因是默认情况下,“始终打开”处于关闭状态。但是,当我转到“应用程序设置/常规设置”时,我无法激活“打开”状态,该状态为灰色。我可以取消勾选“关”,它似乎不会粘住或激活“开” 我错过了什么明显的东西吗?总是在解决我的问题,还是有什么我应该做的 注意:函数是用F#编写的;我怀疑这是否重要,但我想我会提到它以防万一。Azure功能由Azure应用程序服务共同

我有一个功能应用程序,有3个功能,其中一个每2分钟触发一次计时器。我观察到,过了一段时间,函数停止被触发,但在我转到门户时重新启动

据我所知,原因是默认情况下,“始终打开”处于关闭状态。但是,当我转到“应用程序设置/常规设置”时,我无法激活“打开”状态,该状态为灰色。我可以取消勾选“关”,它似乎不会粘住或激活“开”

我错过了什么明显的东西吗?总是在解决我的问题,还是有什么我应该做的


注意:函数是用F#编写的;我怀疑这是否重要,但我想我会提到它以防万一。

Azure功能由Azure应用程序服务共同管理,该服务将始终限制在(非免费或共享)模式

在基本或标准模式下,您可以启用“始终打开”以保持应用程序始终处于加载状态


这个答案适用于所有Azure功能场景,由http请求触发的场景除外

有3个案例需要考虑:

  • 您有一个功能应用程序在免费/共享应用程序服务计划中运行::始终打开不可用,这些场景根本不受支持
  • 您有一个功能应用程序在基本/标准/高级应用程序服务计划中运行:始终打开可用,可以打开。事实上,默认情况下它是打开的,如果关闭它,您将在函数UI中收到警告
  • 您有一个使用消费计划的功能应用程序:不需要一直打开,因为系统会在需要运行功能时唤醒您的功能。这是大多数用户推荐的方法

  • 如果你在免费/共享应用服务计划中,你可以做一个小黑客&它工作得非常完美。使用诸如freshping.io之类的ping服务,每5秒/自定义间隔ping一次函数url,以防止应用程序空闲。Freshping.io为ping提供5个免费URL

    注意:ping url不计入CPU运行时间,除非您ping实际函数。所以这不会影响你的时间限制


    希望这有帮助。

    谢谢,这很有帮助。接下来,我的理解是,为了让Classic上的计时器触发器正常工作,我需要支付最便宜的基本选项附带的固定成本。对吗?是的,在基本模式下是对的。但是,如果您使用动态模式,则在达到高使用级别之前,一切都是免费的。有关详细信息,请参阅。“应用程序服务计划:始终打开可用…事实上,默认情况下它处于打开状态”;这不是我发现的,从ARM部署时也不是。您必须在模板中设置
    “alwaysOn”:true
    。实际上,我指的是门户网站的创建。对于ARM,您必须显式地设置它。有什么变化吗?因为我将应用程序的功能从模板部署到了一个高级计划,根本没有定义“始终打开”,它将其设置为false。在门户中也找不到该选项。仅显示:平台管理管道版本FTP状态HTTP版本这是v3