.net 使用八达通创建的Windows任务计划程序作业在一段时间后停止

.net 使用八达通创建的Windows任务计划程序作业在一段时间后停止,.net,windows,scheduled-tasks,continuous-deployment,octopus-deploy,.net,Windows,Scheduled Tasks,Continuous Deployment,Octopus Deploy,我将应用程序作为一组asp.net微服务。 每个服务都由使用自托管Web Api的简单控制台应用程序提供。 我正在使用Octopus Deploy将这些服务部署到服务器。 Octopus为每个服务和设置创建Windows计划程序任务 $ExecutionTimeout = New-TimeSpan -Days 9999 我可以在已创建任务的Windows任务计划程序UI中找到相同的值 我的问题是:工作一段时间(大约两周)后,我的所有服务都停止了。在我的服务中没有任何例外,它们同时都在下降

我将应用程序作为一组asp.net微服务。 每个服务都由使用自托管Web Api的简单控制台应用程序提供。 我正在使用Octopus Deploy将这些服务部署到服务器。 Octopus为每个服务和设置创建Windows计划程序任务

$ExecutionTimeout = New-TimeSpan -Days 9999 
我可以在已创建任务的Windows任务计划程序UI中找到相同的值

我的问题是:工作一段时间(大约两周)后,我的所有服务都停止了。在我的服务中没有任何例外,它们同时都在下降

我不知道为什么?我设定了超过20年的执行时间!!!! 此问题正在不同的Windows Server版本上重现

我还可以在我的任务历史记录日志中找到此事件:

Task Scheduler terminated "{CF7BA44C-CB14-4737-89B2-C7261CFC997E}"  instance of the "\XXXX\XXX_SERVICE_NAME"  task due to exceeding the time allocated for execution, as configured in the task definition. User Action: Increase the configured task timeout or investigate external reasons for the delay.
以下是Octopus正在执行的任务创建的PowerShell代码:

    New-Item $InstallFolder -type directory

    $FilePath = $InstallFolder + '\' + $ExecutableNameParam
    $Action = New-ScheduledTaskAction -Execute $FilePath -WorkingDirectory $InstallFolder

    $Trigger =  New-ScheduledTaskTrigger -AtStartup
    $RestartInterval = New-TimeSpan -minute 1
    $ExecutionTimeout = New-TimeSpan -Days 9999
    $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -DontStopOnIdleEnd -RestartCount 10 -RestartInterval $RestartInterval -WakeToRun -StartWhenAvailable -ExecutionTimeLimit $ExecutionTimeout
    $Principal = New-ScheduledTaskPrincipal -UserId "LOCALSERVICE" -LogonType ServiceAccount

    Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName $TaskName -Settings $Settings -Principal $Principal
如果您认为我应该在这个问题中添加一些关于我的环境的附加信息,请在评论中告诉我

提前谢谢

UPD: 我的触发器设置中也禁用了过期:

如果我理解正确,这意味着这个触发器根本没有过期。

很难

但我想你会在这里找到你最需要的:

特别是本节:

由于配置了设置,任务已停止。可能的原因包括:

  • 任务的运行时间超过了配置的最大运行时间
  • 任务配置为在计算机切换到电池电源时停止
  • 任务已配置为在计算机不再空闲时停止
  • 任务已配置为在触发任务的新实例时停止

基本上,错误消息比过期设置更广泛

已解决。

出于某种原因

$ExecutionTimeout=新时间跨度-9999天


没有按预期工作。省略此设置修复了我的问题。

也许这有一些信息:?我相信我已正确配置了两个选项(如我所见),我将在明天早上重新检查第二个选项。我现在有utc+3时间,以便在早上工作时了解情况。我是stackoverflow的新手,它是否为用户提供时区?我找不到堆栈溢出不提供时区,但它提供粗略的位置。我在UTC-0500。我在触发器设置中检查了过期时间,它似乎是正确的。我已经相应地更新了问题我认为这些都不适用于这种情况:所有配置看起来都有效,没有触发新实例(如果新实例替换旧实例应该可以),我的服务器上没有电池,除非我真的不明白“任务被配置为在计算机不再空闲时停止。”如果一个新的实例替换了现有的实例,那么很可能会触发任务的一个新实例!