我有很多计划任务,例如每 5 分钟运行一次。触发器定义如下。
每天 10:35 - 触发后,每 1 小时无限次重复
最近我禁用并再次启用它们。但是,我注意到在我再次启用它们后这些任务不再运行。Next Run Time列是正确的,但当时没有任何反应。下次运行时间过后,任务不会运行,并且上次运行时间列也不会更新,因为(显然)任务没有运行。
我可以让任务运行的唯一方法是进入它的属性并将计划时间更新为(不久的)将来的某个时间:
所以我的直觉是,问题在于我启用它们的时间已经过去了。不过,这在过去不是问题。只有在迁移到这个新的 Windows Server 2019 Standard (10.0.17763) 服务器之后,这个问题才开始出现。
FWIW,这些计划任务从另一台服务器迁移,我通过 XML 文件导入导入它们。我查看了这些 XML 文件,似乎没有任何可疑之处。奇怪的是,将开始时间设置为将来的某个时间可以解决这个问题。但是,这对我来说不是可行的解决方案,因为我有很多任务,我需要每月禁用和重新启用它们。正如我所说,这在我从中迁移的服务器上不是问题。
在错过开始后,也没有显示为Last Run Result的错误代码:
我在这里分享导出和编辑的 XML:https ://pastebin.com/CGgsjwza
我见过有人有类似的问题,但我不确定这些是否适用于我的情况:
您认为不正确的解决方案实际上正是您需要做的。
您必须为希望循环开始的下一个时刻设置下一个执行时间(因此通常您希望将日期更改为明天),然后等待该时刻过去,可选择提前一次或多次按需运行任务如预期的。
这样做的原因如下:每次执行任务时,它都会为下一次发生计划一个新的(隐藏的)任务。鉴于目前没有计划任何任务,所以什么也没有发生。通过至少执行一次任务,它可以计划其隐藏的继任者。