jsh*_*ave 6 triggers scheduled-tasks
我有一个任务集,可以通过Windows Task Scheduler(操作系统:带有SP2的64位Windows Server Standard)每30分钟运行一个可执行文件。此任务需要能够同时运行其自身的多个实例,因此请选择此设置:“如果该任务已经在运行,则适用以下规则:并行运行新实例”。(原因:任务处理队列表中的记录,该表可能为空或包含成千上万条记录。每个任务实例都保留要处理的记录块,因此实例不会冲突)
问题是,任务在每个触发间隔产生了多个NEW实例。它仅应每30分钟触发一个新实例。通常会产生2、3、4或更多新实例。此时,可执行文件可以处理重复的新实例,而不会出现重大错误,但是服务器所做的工作超出了它需要做的工作,这使我无休止地感到任务计划程序以这种方式行为不当。到目前为止,我已经尝试解决此问题:
更令人困惑的是:此服务器上的其他一些任务具有相同或相似的设置,并且没有此问题。在修复程序之前,他们有问题,但是在修复程序之后,这种情况很少见。除了这一任务。到底是什么问题?
导出的任务设置如下(使用XXXX替换敏感信息)。我将这一点与另一个没有问题的类似任务进行了比较。唯一的区别是:工作任务具有不同的作者,不同的exe文件,并且每5分钟而不是每30分钟运行一次。
我将把它归为微软有一天需要修复的错误,但是我想在放弃之前将其提供给这里进行审查。
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2014-08-27T10:09:33.7980839</Date>
<Author>XXXX\XXXX</Author>
<Description>Links newly downloaded images to products. Resizes and uploads different sizes to XXXX. Updates relevant tables. Logs errors.</Description>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<Repetition>
<Interval>PT30M</Interval>
<Duration>P1D</Duration>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<StartBoundary>2015-02-11T19:06:00Z</StartBoundary>
<Enabled>true</Enabled>
<RandomDelay>PT30S</RandomDelay>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>XXXX\XXXX</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>true</WakeToRun>
<ExecutionTimeLimit>P1D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\XXXX\XXXX\XXXX.exe</Command>
</Exec>
</Actions>
</Task>
Run Code Online (Sandbox Code Playgroud)
小智 3
我也遇到了同样的情况,一项任务触发了 3 次,另一项任务触发了 9 次。但也有一堆只按预期发射了一次。安装修补程序后问题仍然存在。
在我的所有研究都没有找到好的线索后,我的下一步是向微软提出支持案例。在这样做之前,我想既然我已经安装了补丁,我应该尝试删除并重新创建该任务。我首先删除并重新创建触发器(设置为每天运行一次)并将其设置为不同的时间。宾果,我的问题解决了!
所以我不知道关键是什么,是否是在安装补丁后删除并重新创建触发器,或者是否更改了时间,但两者都有效。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4365 次 |
| 最近记录: |