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

Pau*_*rge 9 sitecore scheduled-tasks

在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>
Run Code Online (Sandbox Code Playgroud)

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

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

Mar*_*ino 11

你说1小时可能太高是对的.默认情况下,保持活动代理无论如何都不能完全开箱即用.有通常你需要做的,以确保它的工作原理最好的两件事情:

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

  • 有一些优点是允许localhost绑定 - 在负载平衡设置中使用公共URL可能会有点错误! (2认同)