如何使计划作业在夏令时运行两次

如何使计划作业在夏令时运行两次

我有 Windows 2008 Server R2。我正在使用任务计划程序在时钟向后移动的夏令时运行作业。

该任务运行一个 PHP 脚本,用于更新数据库字段(如果字段等于 1,则将其更改为 0;如果字段等于 0,则将其更改为 1)。这用作开关。

任务的目标是在 1:59:59 运行以打开开关。时钟将回到 1:00:00,然后当再次到达 1:59:59 时,它应该关闭开关。

目前,任务在时钟第一次到达 1:59:59 时无法运行,但在时钟第二次到达 1:59:59 时运行。为什么它会忽略第一个小时并在第二个小时运行?

有没有办法让任务在夏令时运行两次?

希望我的问题有意义。谢谢阅读。

答案1

首先我要说的是,我不太熟悉 Windows Server 2008 的内部结构。

但是,当任务按计划在夏令时 (DST) 结束当天的 01:59 运行,但只运行一次时,我预计您的调度程序会在您设置时(内部)将时间戳转换为 UTC。进行这样的转换可以防止当本地时间偏移量与 UTC 发生更改时,作业运行两次(或无法运行)。

有趣的是,看看在夏令时切换后,您的日常工作是否不再安排在 01:59,而是从那时起在当地时间 00:59 或 02:59 运行。

如果是这种情况,可能会有一个选项强制调度程序使用本地时间而不是 UTC......

本问答可能很有趣。

相关内容