Опрос ЛК ЕСИА Финанс раз в 10 секунд (было раз в минуту), повтор одной ошибки в журнале — не чаще раза в 5 мин
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -20,8 +20,8 @@
|
|||||||
"version": "2026.09.25.14"
|
"version": "2026.09.25.14"
|
||||||
},
|
},
|
||||||
"bj-server": {
|
"bj-server": {
|
||||||
"fingerprint": "6731e7a62cf3261a5ec9ef4183cc75bb2b540dd08258def173bf685b8f347ebb",
|
"fingerprint": "16dfbfc7331a989f6344379136d8900a5ded00eb1dd9fa29af36980b1ed3f3b2",
|
||||||
"version": "2026.09.25.32"
|
"version": "2026.09.29.2"
|
||||||
},
|
},
|
||||||
"crypto-service.jar": {
|
"crypto-service.jar": {
|
||||||
"fingerprint": "2c4fd536bc9b1c20c69a70e8dcd374a61847b263aeb2e474c45debb01fbd8233",
|
"fingerprint": "2c4fd536bc9b1c20c69a70e8dcd374a61847b263aeb2e474c45debb01fbd8233",
|
||||||
|
|||||||
@@ -257,11 +257,13 @@ type LKPullResult struct {
|
|||||||
Errors []string
|
Errors []string
|
||||||
}
|
}
|
||||||
|
|
||||||
// pollLKClaims — фоновый опрос ЛК ЕСИА Финанс раз в минуту. Время ответов в
|
// pollLKClaims — фоновый опрос ЛК ЕСИА Финанс раз в 10 секунд: подписанная клиентом заявка
|
||||||
// сервисе регламентировано, поэтому чаще опрашивать смысла нет. Ничего не
|
// уходит в работу почти сразу (29.09.2026: минута — долго). Ничего не делает, если активное
|
||||||
// делает, если активное окружение ЛК не настроено (адрес/логин пустые).
|
// окружение ЛК не настроено (адрес/логин пустые). Одинаковая ошибка пишется в журнал не чаще раза в 5 мин.
|
||||||
func (s *Server) pollLKClaims(ctx context.Context) {
|
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)
|
ticker := time.NewTicker(interval)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
log.Printf("lk-gateway: поллер заявок ЛК ЕСИА Финанс запущен (интервал %s)", interval)
|
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)
|
res, err := PullLKClaims(cctx, s.rc, s.svc)
|
||||||
cancel()
|
cancel()
|
||||||
if err != nil {
|
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
|
continue
|
||||||
}
|
}
|
||||||
|
if lastErr != "" {
|
||||||
|
log.Printf("lk-gateway: поллер ЛК: связь с ЛК восстановлена")
|
||||||
|
lastErr = ""
|
||||||
|
}
|
||||||
if res.Fetched > 0 || len(res.Errors) > 0 {
|
if res.Fetched > 0 || len(res.Errors) > 0 {
|
||||||
log.Printf("lk-gateway: поллер ЛК: получено %d, отправлено %d, отклонено %d, ошибок %d (имитация НРД: %v)",
|
log.Printf("lk-gateway: поллер ЛК: получено %d, отправлено %d, отклонено %d, ошибок %d (имитация НРД: %v)",
|
||||||
res.Fetched, res.Sent, res.Rejected, len(res.Errors), res.Emulated)
|
res.Fetched, res.Sent, res.Rejected, len(res.Errors), res.Emulated)
|
||||||
|
|||||||
Reference in New Issue
Block a user