我已将 Windows 7 任务计划程序配置为在凌晨 12:01 运行每日任务。它必须启动我们的报告程序,该程序会维护其自身的内部日志。自今年 3 月以来(迄今已有 3 个月),它一直运行良好,直到 5 月 31 日和 6 月 1 日,任务根本没有触发。因此,在日志中,我在 5 月 30 日有一个条目,然后下一个条目是在 6 月 2 日。问题是它为什么错过了那两天???
我导出了任务,如下所示。
另外要提醒大家的是,这台电脑从不关机或休眠。它是我们办公室的电脑,始终处于开机状态。更新设置为下载并等待。因此,它不应该重新启动或篡改。
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Author>ReportGenerator Autotask</Author>
<Description></Description>
</RegistrationInfo>
<Triggers>
<CalendarTrigger id="Trigger_ReportGenerator Daily Task. 'c.-program files (x86)-borland-common files-bde-reportgenerator.exe'">
<StartBoundary>2015-04-30T00:01:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>BTR-PC\Manager</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\Program Files (x86)\Borland\Common Files\BDE\ReportGenerator.exe</Command>
<Arguments>-daily -email="[email protected]; [email protected]"</Arguments>
</Exec>
</Actions>
</Task>
答案1
您的任务设置了以下选项(这也是默认设置):
如果任务已在运行,则适用以下规则: 不要启动新实例
如果任务运行时间超过:是,3 天
这意味着,如果您的任务没有正常退出,那么它将继续运行并阻止新任务启动 72 小时。这意味着任务第二天和第二天都不会运行。但第三天,未退出的任务将在任务启动前停止,因此任务最终可以启动。
我无法回答为什么你的任务这次没有正常退出。但我有一个任务(启动 Powershell 并发出 Web 请求),它的设置与你的一样,只是跳过了 2 天,显然它在 2021 年 9 月也跳过了 2 天。我想电脑有时会出错。