- admin-api 的 application.yml 缺少 spring.data.redis 配置,容器内默认连 127.0.0.1 导致 /actuator/health 返回 DOWN(redis 组件不可用); 补齐后与 app-api 共用 REDIS_HOST/REDIS_PORT,健康检查恢复 UP - 计划任务原先用 BootTrigger 挂 Repetition,Windows 不生效(Next Run Time 为 N/A,9 小时只跑过一次),看门狗形同虚设;改为 TimeTrigger + PT2M 无限重复 + StartWhenAvailable,实测每 2 分钟稳定巡检 - watchdog.ps1 的连续失败计数改为落盘 watchdog-state.json,避免每轮进程 重启后清零导致「连续 3 次失败告警」永不触发
39 lines
1.7 KiB
XML
39 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-16"?>
|
||
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
||
<RegistrationInfo>
|
||
<Description>FruitShorts backend watchdog: health check every 2 minutes and restart unhealthy services.</Description>
|
||
</RegistrationInfo>
|
||
<Principals>
|
||
<Principal id="Author">
|
||
<UserId>S-1-5-18</UserId>
|
||
<RunLevel>HighestAvailable</RunLevel>
|
||
</Principal>
|
||
</Principals>
|
||
<Settings>
|
||
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
|
||
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
|
||
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
|
||
<StartWhenAvailable>true</StartWhenAvailable>
|
||
<ExecutionTimeLimit>PT10M</ExecutionTimeLimit>
|
||
</Settings>
|
||
<Triggers>
|
||
<!-- BootTrigger 上挂 <Repetition> 在 Windows 计划任务里不生效(导入后 Next Run Time 为 N/A,
|
||
实际只在开机跑一次)。改成 TimeTrigger + 无限重复,配合 StartWhenAvailable
|
||
保证开机后若错过也会立即补跑;这样才真正做到每 2 分钟巡检一次。 -->
|
||
<TimeTrigger>
|
||
<StartBoundary>2026-01-01T00:00:00</StartBoundary>
|
||
<Repetition>
|
||
<Interval>PT2M</Interval>
|
||
<Duration>P3650D</Duration>
|
||
<StopAtDurationEnd>false</StopAtDurationEnd>
|
||
</Repetition>
|
||
</TimeTrigger>
|
||
</Triggers>
|
||
<Actions Context="Author">
|
||
<Exec>
|
||
<Command>powershell.exe</Command>
|
||
<Arguments>-NoProfile -ExecutionPolicy Bypass -File "C:\Users\Administrator\Desktop\ReelShorts\FruitServer\deploy\watchdog.ps1" -ComposeDir "C:\Users\Administrator\Desktop\ReelShorts\FruitServer" -LogDir "C:\Users\Administrator\Desktop\ReelShorts\FruitServer\logs"</Arguments>
|
||
</Exec>
|
||
</Actions>
|
||
</Task>
|