0

我们有一些预定的作业,每天在一天中的不同时间运行。这些工作包括记录他们的结果,如下所示:

<cflog file="#logname#"  text="START #logname#">
<cfoutput>#mid(now(),6,19)# Scheduled Jobs running on Production (#server.Name#)

上周末,当时钟提前一小时时,所有这些工作都迟到了一小时。以下是每天 00:05 运行的作业的上述两行的一些示例输出。首先,就在时间变化之前。

"Information","jrpp-213","03/10/13","00:05:00",,"START scheduledjobs_0005"
"Information","jrpp-213","03/10/13","00:05:00",,"start sheduledjobs_0005"

接下来,时间变化后的第一次。一小时后运行。

 "Information","jrpp-343","03/11/13","01:05:00",,"START scheduledjobs_0005"
 "Information","jrpp-343","03/11/13","01:05:00",,"start sheduledjobs_0005"

然后第二天就恢复正常了。

"Information","jrpp-111","03/12/13","00:05:00",,"START scheduledjobs_0005"
"Information","jrpp-111","03/12/13","00:05:00",,"start sheduledjobs_0005"

这些作业生成的文件的时间戳也比作业计划运行时间晚一小时。

有没有人见过类似的东西?有谁知道会导致这种情况或如何预防?我们正在运行版本 9,0,1,274733。

4

1 回答 1

2

我以前见过这个。调度程序通过将 24 小时添加到计划的开始时间来计算每日任务的下一次运行。在这种情况下,将 24 小时添加到周日 00:00 ST 会使下一个开始时间为周一 01:05 DST。调度程序会在第二天自行更正,因为它将计划的开始时间增加了 24 小时,现在是 DST 00:00。

以这种方式处理它很重要,因为如果有人安排任务在错过的时间运行,那么该任务在那天根本不会运行。此外,如果该任务计划在秋季的额外小时内运行,它实际上会运行两次。

于 2013-03-12T20:38:25.127 回答