我们有许多Windows计划任务在群集中的一个Server 2008 Web服务器(不是R2)上运行。
我们最近从一个原始的networking服务器集群迁移到一个新的networking服务器Cluser(Server 2008 – 不是R2)。
运行Windows任务的新Web服务器(在群集中)与我们认为的原始设置相同。
但是我们现在发现,在新的Windows Server上,Windows任务计划程序似乎想要立即启动每个任务三次。
如果我们设置排队一个新任务的选项,我们得到:
事件ID 324任务计划程序排队的实例“{9a1a8411-b042-45ff-8e6b-89874df230d7}”任务“\ Client Reporting”,并将在实例“{2bcc3df6-ea3b-4453-90c2-75b8b1946388}”完成后立即启动。
如果我们设置停止现有任务的选项,我们会得到:
事件ID 323任务计划程序停止任务“\ Client Reporting”的实例“{e685a910-b32b-414e-85fd-96bbe54314a2}”以启动新实例“{4db66265-1f51-4ede-8535-ac7c3cb5c4c1}”。
勾选设置:
允许任务按需运行。
错过预定的开始后尽快运行任务。
停止运行超过1小时的任务。
如果正在运行的任务没有结束,请求强制停止。
只有在计算机使用交stream电源时才能启动任务。
如果电脑切换到电池电源,请停止任务。
select的选项:如果任务已经在运行 – 停止现有的实例。
注意:我们将任务从一台服务器移到了另一台服务器上,看看是否有我们select的服务器上的任务计划程序导致问题。 同样的行为。
这可能是与新服务器的构build有关吗?
我们在另一个服务器集群上设置了非常类似的任务,在没有多次启动的情况下工作正常。 将这些任务与这里的任务进行比较 – 通过任务计划程序中的选项,在设置方面似乎没有任何明显的不同。
触发:任务计划每天一次,每小时一次 – 如果超过这个时间,将被停止。
操作:运行.bat文件。
什么可能导致这个/我们可以看到什么逻辑导致任务以这种方式多次启动?
我们设置了停止Windows任务计划程序启动多个进程,勾选选项“如果任务失败,重新启动每个:”默认值为“1分钟”和“尝试重新启动:3次”。
这似乎是反直觉的
2.任务似乎已经决定开始三次了。
另外 – 我们在testingnetworking服务器上设置了相同的任务,不需要勾选这个选项。
这是KB2617046中描述的问题:如果您禁用然后启用计划任务,创build重复触发器。 任务属性仍然只显示一个触发器,但是您可以看到任务在任务历史logging中同时触发多次。
有一个来自Microsoft的修补程序。 该修补程序表示它是用于Vista的,但它可以在Server 2008 SP2上运行。 应用此修补程序后,您必须禁用,然后重新启用您的任务上的触发器(closures之间的触发器属性窗口以应用更改),以摆脱重复项。
无论出于何种原因,我无法为您的答案添加评论,但是可能是“失败”,因为任务正在返回非0的退出代码。您可以通过调度脚本来运行而不是实际任务进程来解决此问题。 您可以让脚本运行实际的任务进程,并在完成之后,根据已知成功代码列表检查进程的退出代码。 如果成功,脚本以代码0退出,如果不成功,则传递失败退出代码。 这样,如果实际上失败了,你仍然保留任务调度程序重新运行任务的能力。
不幸的是,成功执行的进程返回0以外的退出代码并不罕见。您需要检查文档(或询问开发人员)各种退出代码是什么。
几个月前,我在WinServer2008 R2上遇到了这个问题。 我尝试了很多解决scheme,但没有解决问题。
以下似乎解决了这个问题:在任务计划程序的应用程序:select任务:然后从右侧菜单单击“结束”,它会问你'你想结束这个任务的所有实例? 点击“是”。
我希望这会解决你的问题。
同样的问题是在这里发生的任何任务进入队列,所以浏览所有正在运行的任务或队列中的所有任务,并重新启动它所修复的服务器