gpt4 book ai didi

triggers - Windows 任务计划程序错误地为每个触发器生成多个实例(但需要能够并行运行多个实例)

转载 作者:行者123 更新时间:2023-12-04 15:43:19 26 4
gpt4 key购买 nike

我有一个任务设置为通过 Windows 任务计划程序(操作系统:64 位 Windows Server Standard with SP2)每 30 分钟运行一次可执行文件。 此任务需要能够同时运行自身的多个实例 ,因此选择此设置:“如果任务已在运行,则适用以下规则:并行运行新实例”。 (原因:任务处理队列表中的记录,该表可能为空或包含数十万条记录。每个任务实例保留一块记录用于处理,因此实例不会发生冲突)

问题是,任务在每个触发间隔产生多个 NEW 实例。 它应该每 30 分钟只触发一个新实例。通常它会产生 2、3、4 或更多的新实例。在这一点上,可执行文件可以处理重复的新实例而不会出现重大错误,但是服务器正在做比它需要的更多的工作,而且它只是让我无休止地发现任务调度程序以这种方式行为不端。这是我迄今为止尝试修复的内容:

  • 删除并重新创建任务(多次)
  • 重启服务器
  • 安装此修补程序:http://support.microsoft.com/en-us/kb/2461249
  • 设置为无限期每 30 分钟运行一次
  • 设置为每天每 30 分钟运行一次,持续一天
  • 设置“跨时区同步”= true
  • 设置“以最高权限运行”= true
  • 设置“最多随机延迟 [X] 秒的延迟任务”= false(多个新 - 实例都在同一秒内产生)
  • 设置“延迟任务最多随机延迟 [30] 秒”= true(而不是在同一秒内触发,多个新实例在 30 秒内触发)
  • 设置“如果任务失败,每 1 分钟重启一次”= true
  • 设置“如果任务失败,每 1 分钟重启一次”= false
  • 设置“在错过预定启动后尽快运行任务”= false(如果设置为true,则问题更严重)

  • 更令人费解的是:这台服务器上的其他一些任务,有相同或相似的设置,都没有这个问题。他们在修补程序之前遇到了问题,但在修补程序之后就很少见了。除了这一项任务。这到底是什么问题?

    导出的任务设置如下(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>

    最佳答案

    我在同一条船上,一项任务触发了 3 次,另一个任务触发了 9 次。但也是一群只按预期发射一次。安装修补程序后问题仍然存在。

    在我所有的研究都没有找到好的线索之后,我的下一步将是与 Microsoft 建立一个支持案例。在这样做之前,我想我会尝试删除并重新创建任务,因为我已经安装了补丁。我首先删除并重新创建触发器(设置为每天运行一次)并将其设置为不同的时间。宾果游戏,我的问题解决了!

    所以我不知道关键是什么,是在安装补丁后删除并重新创建触发器,还是在更改时间,但两者都有效。

    希望这可以帮助!

    关于triggers - Windows 任务计划程序错误地为每个触发器生成多个实例(但需要能够并行运行多个实例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375568/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com