fix(ups): -Mode Status nu mai raporteaza NEINREGISTRAT cand interogarea esueaza
Vazut pe 27.08.2026 la 16:27: Status a afisat "Task programat: NEINREGISTRAT" desi taskul rula (State=Running, proces ups-monitor.ps1 -Mode Run viu, PID 3308). Trei rulari imediat urmatoare au raportat corect Running - deci o eroare tranzitorie a Task Scheduler-ului, prezentata drept certitudine. Cauza: catch-ul trata la fel "nu exista" si "n-am putut intreba", si alegea mesajul cel mai alarmant. Intr-o pana reala ar trimite pe cineva sa reinstaleze un monitor care de fapt merge. Acum: absenta taskului se stabileste prin $null -eq $task, nu prin exceptie; o interogare esuata spune NEDETERMINAT si arata eroarea; iar daca doar Get-ScheduledTaskInfo cade, se afiseaza starea fara ultima rulare. Verificat cu tokenizer-ul (0 erori) si pe server dupa deploy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RRyaDj39hPQ89SZS6URRpS
This commit is contained in:
@@ -614,12 +614,25 @@ switch ($Mode) {
|
||||
if (Test-Path -LiteralPath (Join-Path (Split-Path -Parent $ConfigPath) 'DEZACTIVAT')) {
|
||||
Write-Host 'AUTOMATISM : DEZARMAT (exista fisierul DEZACTIVAT)'
|
||||
}
|
||||
# "nu exista" si "n-am putut intreba" sunt lucruri diferite. Task Scheduler
|
||||
# refuza ocazional interogarea (vazut pe 27.08.2026: un NEINREGISTRAT intre
|
||||
# doua rulari care raportau corect Running), iar mesajul asta in mijlocul unei
|
||||
# pene ar trimite pe cineva sa reinstaleze un monitor care de fapt merge.
|
||||
$numeTask = 'ROMFAST UPS Monitor'
|
||||
try {
|
||||
$task = Get-ScheduledTask -TaskName 'ROMFAST UPS Monitor' -ErrorAction Stop
|
||||
$info = Get-ScheduledTaskInfo -TaskName 'ROMFAST UPS Monitor'
|
||||
Write-Host "Task programat : $($task.State), ultima rulare $($info.LastRunTime), rezultat $($info.LastTaskResult)"
|
||||
} catch {
|
||||
$task = Get-ScheduledTask -TaskName $numeTask -ErrorAction SilentlyContinue
|
||||
if ($null -eq $task) {
|
||||
Write-Host 'Task programat : NEINREGISTRAT'
|
||||
} else {
|
||||
$info = Get-ScheduledTaskInfo -TaskName $numeTask -ErrorAction SilentlyContinue
|
||||
if ($null -eq $info) {
|
||||
Write-Host "Task programat : $($task.State)"
|
||||
} else {
|
||||
Write-Host "Task programat : $($task.State), ultima rulare $($info.LastRunTime), rezultat $($info.LastTaskResult)"
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
Write-Host "Task programat : NEDETERMINAT - interogarea a esuat ($($_.Exception.Message))"
|
||||
}
|
||||
$log = Join-Path $cfg.logPath ('ups-monitor-{0}.log' -f (Get-Date -Format 'yyyy-MM'))
|
||||
if (Test-Path -LiteralPath $log) {
|
||||
|
||||
Reference in New Issue
Block a user