Опрос ЛК ЕСИА Финанс раз в 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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user