diff --git a/deploy/release/component-versions.json b/deploy/release/component-versions.json index 9141ad1..21467c5 100644 --- a/deploy/release/component-versions.json +++ b/deploy/release/component-versions.json @@ -20,8 +20,8 @@ "version": "2026.09.25.14" }, "bj-server": { - "fingerprint": "6731e7a62cf3261a5ec9ef4183cc75bb2b540dd08258def173bf685b8f347ebb", - "version": "2026.09.25.32" + "fingerprint": "16dfbfc7331a989f6344379136d8900a5ded00eb1dd9fa29af36980b1ed3f3b2", + "version": "2026.09.29.2" }, "crypto-service.jar": { "fingerprint": "2c4fd536bc9b1c20c69a70e8dcd374a61847b263aeb2e474c45debb01fbd8233", diff --git a/internal/lkgateway/lkconnector.go b/internal/lkgateway/lkconnector.go index 6b85b5f..6616d74 100644 --- a/internal/lkgateway/lkconnector.go +++ b/internal/lkgateway/lkconnector.go @@ -257,11 +257,13 @@ type LKPullResult struct { Errors []string } -// pollLKClaims — фоновый опрос ЛК ЕСИА Финанс раз в минуту. Время ответов в -// сервисе регламентировано, поэтому чаще опрашивать смысла нет. Ничего не -// делает, если активное окружение ЛК не настроено (адрес/логин пустые). +// pollLKClaims — фоновый опрос ЛК ЕСИА Финанс раз в 10 секунд: подписанная клиентом заявка +// уходит в работу почти сразу (29.09.2026: минута — долго). Ничего не делает, если активное +// окружение ЛК не настроено (адрес/логин пустые). Одинаковая ошибка пишется в журнал не чаще раза в 5 мин. func (s *Server) pollLKClaims(ctx context.Context) { - const interval = time.Minute + const interval = 10 * time.Second + var lastErr string + var lastErrAt time.Time ticker := time.NewTicker(interval) defer ticker.Stop() log.Printf("lk-gateway: поллер заявок ЛК ЕСИА Финанс запущен (интервал %s)", interval) @@ -281,9 +283,16 @@ func (s *Server) pollLKClaims(ctx context.Context) { res, err := PullLKClaims(cctx, s.rc, s.svc) cancel() if err != nil { - log.Printf("lk-gateway: поллер ЛК: %v", err) + if err.Error() != lastErr || time.Since(lastErrAt) > 5*time.Minute { + log.Printf("lk-gateway: поллер ЛК: %v", err) + lastErr, lastErrAt = err.Error(), time.Now() + } continue } + if lastErr != "" { + log.Printf("lk-gateway: поллер ЛК: связь с ЛК восстановлена") + lastErr = "" + } if res.Fetched > 0 || len(res.Errors) > 0 { log.Printf("lk-gateway: поллер ЛК: получено %d, отправлено %d, отклонено %d, ошибок %d (имитация НРД: %v)", res.Fetched, res.Sent, res.Rejected, len(res.Errors), res.Emulated)