2014-08-28 96 views
8

我们在Azure上使用免费BizSpark订阅,并将我们的应用程序作为Azure网站托管。我们定期为意外的站点关闭而斗争,因为它有很多后台进程运行,所以我们的应用程序非常痛苦。Azure网站上的“始终开启”设置的含义

“始终开启”设置可以解决此问题,但不幸的是,它无法在当前订阅中使用。

正如你可能知道IIS有两种设置基于回收已上: - 周期重启超时

  1. 默认情况下,每个应用程序每1740 分钟(29小时)终止。
  2. 此外,应用程序可以回收,如果它未使用 20分钟 - 空闲超时

我想知道,如果我们打开“始终在”的设置,我们可以肯定的是它帮助我们同时防止应用回收上述类型

顺便说一句,我发现这个问题: Will "Always On" setting prevent BOTH idleTimeout and periodicRestart?具有类似的主题。它说这个设置应该有所帮助。

但我想确定它是真的。因为在我们的例子中,实时后台进程的中断是绝对不可接受的。

欣赏任何答案。

+0

你不应该问微软这个问题吗? – john 2014-08-28 09:48:53

+0

@john,免费BizSpark订阅我无法向技术支持人员咨询技术问题。我只能请求结算问题:) – 2014-08-28 09:57:44

回答

7

当您打开“Always On”时,两者都会被阻止。您链接到的问题的答案(Will "Always On" setting prevent BOTH idleTimeout and periodicRestart?)包含完整的详细信息。如果您有多个运行“永远在线”的实例,也将确保所有这些实例保持运行。

对于长时间运行的进程,如果可以的话,我强烈推荐使用Azure Web Jobs。 Azure Webjobs SDK将使您的开发生活变得更加轻松,并为您提供免费的大量良好监控。请查看Scott Hanselman在这里的教程:http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx

仅供参考,Webjobs在您的网站上下文中运行,因此如果您的网站被回收(如果Always On被禁用),那么您的Webjob也将停止运行。启用“永远在线”将保持您的网络工作和您的网站。

2

Microsoft Azure How to configure websites

始终打开 - 默认情况下,网站被卸载,如果他们已经闲置了一段时间。这使系统节约资源。如果站点需要始终加载,则可以在标准模式下为站点启用始终开启设置。由于连续网络作业可能无法可靠地运行,如果始终打开处于禁用状态,则应在网站上运行连续的网络作业时启用始终打开。

如果您有需要不断运行的事情,您可以查看Azure Webjobs或Worker Roles,它们将更可靠,而不是IIS线程。

+0

您不限于连续运行任务的Web作业或工作人员角色。您还可以使用Web角色和虚拟机。 – 2014-08-28 10:30:21

+0

@AlexC,我已经完成了使用Quartz Scheduller的应用程序。问题:我可以肯定,“永远在线”以防止回收和定期重启? – 2014-08-28 10:31:20

+0

@DavidMakogon,我可以看到你是Windows Azure Cloud Architect。可能是你知道的:我可以肯定,打开“Always on”设置以防止回收和定期重新启动超时? – 2014-08-28 10:33:06