Учёт DEPO: шаг «Обработка» проверяет запуск джобы (есть, включена, расписание, запускалась недавно — по msdb), работа процедур (BJ_PING) — отдельной проверкой «Обработка событий»; логину bj — SQLAgentReaderRole для проверки

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-05 14:33:34 +03:00
parent 4beb42ed45
commit e31e35e663
6 changed files with 165 additions and 36 deletions
+9 -1
View File
@@ -151,7 +151,13 @@ func (h *setupHandlers) wizardDepoJob(w http.ResponseWriter, r *http.Request) {
jobNote = "джоба " + depoJobName + " создана. "
}
}
msg, ok := depoJobCheck(ctx, h.rc)
// проверяем запуск джобы (не процедуры): только что созданная джоба запускается в течение интервала — ждём
au, ap := r.FormValue("admin_user"), r.FormValue("admin_password")
msg, ok := depoJobRunnerCheck(ctx, h.rc, au, ap)
for i := 0; !ok && i < 6 && strings.Contains(msg, "ни разу не запускалась"); i++ {
time.Sleep(5 * time.Second)
msg, ok = depoJobRunnerCheck(ctx, h.rc, au, ap)
}
msg = jobNote + msg
s = h.rc.Snapshot().Fancy
s.DepoJobCheck, s.DepoJobCheckOK, s.DepoJobCheckAt = msg, ok, time.Now()
@@ -182,8 +188,10 @@ func (h *setupHandlers) wizardDepoRecheck(w http.ResponseWriter, r *http.Request
return
}
jmsg, jok := depoJobCheck(ctx, h.rc)
pmsg, pok := depoProcCheck(ctx, h.rc) // обработка событий — отдельно, шаг не держит
s = h.rc.Snapshot().Fancy
s.DepoJobCheck, s.DepoJobCheckOK, s.DepoJobCheckAt = jmsg, jok, time.Now()
s.DepoProcCheck, s.DepoProcCheckOK, s.DepoProcCheckAt = pmsg, pok, time.Now()
_ = h.rc.UpdateFancy(s)
if !jok {
wizDepoGo(w, r, "job", jmsg, false)