为什么Sitecore keepalive任务默认设置为1小时?

时间:2012-02-28 11:45:50

标签: scheduled-tasks sitecore

在web.config中设置的sitecore keepalive任务调用'keepalive'url配置为默认每小时运行一次:

<agent type="Sitecore.Tasks.UrlAgent" method="Run" interval="01:00:00">
  <param desc="url">/sitecore/service/keepalive.aspx</param>
  <LogActivity>true</LogActivity>
</agent>

如果默认的IIS应用程序池超时为20分钟,这是否意味着keepalive功能无法在其默认配置状态下工作?即一个闲置的站点最多会调用一次此任务,可能会使站点保持活动状态20分钟,然后它会超时并卸载,直到真正的外部请求到达为止。

除非我遗漏了某些内容,否则此设置应设置为20分钟以内(或者更确切地说是20分钟减去调度程序间隔),以便按预期工作,对吧?

3 个答案:

答案 0 :(得分:11)

你说1小时可能太高是对的。默认情况下,保持活动代理无论如何都不能完全开箱即用。 通常需要做两件事才能确保最佳效果:

  1. 如您所述,调整时间更合适。我喜欢每15分钟亲自做一次:interval="00:15:00"
  2. 将路径调整为您站点的绝对路径,而不是相对路径。默认情况下,如果您的站点在IIS中配置为在/sitecore/service/keepalive.aspx上绑定,则路径localhost将仅向您的站点发出请求。 UrlAgent中的代码假定其请求http://localhost/sitecore/service/keepalive.aspx。您有99%的时间需要将其调整为您网站的公开网址,例如http://www.mysite.com/sitecore/service/keepalive.aspx

答案 1 :(得分:0)

默认情况下,如果未更改此设置并且您的IIS设置为每20分钟回收一次,则Sitecore网站确实不会保持活动状态。我们没有使用Sitecore代理,但有一个模块每15分钟请求一次sitecore网站。

答案 2 :(得分:0)

Sitecore UrlAgent Scheduler Task Module

UrlAgent Scheduler任务模块类似于web.config中的Sitecore内置UrlAgent,只是能够在Sitecore中定义Url并要求Scheduler Task执行它们。

Mortaza Kamal Nourestani