我们设置了一个时间表来执行一个命令。计划每 5 分钟运行一次,如下所示:20090201T235900|20190201T235900|127|00:05:00
但是,从日志中我们看到它仅每小时运行一次。
是否有一个原因?
检查 sitecore.config 文件中的调度频率
<sitecore>
<scheduling>
<!-- Time between checking for scheduled tasks waiting to execute -->
<frequency>00:05:00</frequency>
</scheduling>
</sitecore>
调度间隔基于调度程序间隔和作业间隔。每个调度程序间隔期间,都会评估所有配置的作业。这是记录的。在该评估期间,每个作业都会根据上次运行的时间进行检查,如果该间隔大于配置的作业间隔,则启动该作业。
这很简单,但了解机制很重要。您还可以看到它是如何不允许在特定时间固有地运行作业的,只能以近似的时间间隔运行。
您还可以看到,无论作业间隔如何,作业永远不会比调度程序间隔更频繁地运行。将调度程序设置为一分钟间隔以将作业计时的不准确性降低到不超过一分钟并不是不合理的。
在更糟糕的情况下,调度程序间隔为 5 分钟,作业间隔为 5 分钟。作业开始的延迟可能长达 9 分 59 秒。