Проверка связи M2M (запрос справочника) — раз в час вместо 10 мин, плюс кнопка
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -4,7 +4,7 @@ package lkgateway
|
||||
// пути, у каждого своё доказательство работы:
|
||||
// - Шлюз: ИШ отвечает bj (igwwatch.go);
|
||||
// - НРД: шлюз успешно опрашивает НРД — по журналу ИШ (nsdlinkwatch.go);
|
||||
// - M2M: сквозная проверка — раз в 10 минут bj запрашивает у НРД справочник участников (#M2MHR)
|
||||
// - M2M: сквозная проверка — раз в час и по кнопке «Проверить связь сейчас» bj запрашивает у НРД справочник участников (#M2MHR)
|
||||
// и ждёт ответ #M2MTH: он проходит весь путь до сервиса M2M и обратно;
|
||||
// - Отправка: подтверждение доставки каждого пакета (igw.WithDeliveryHook) и недоставленные переводы.
|
||||
// Отсутствие ошибок само по себе не считается «работает»: нет свежего подтверждения — жёлтый.
|
||||
@@ -27,7 +27,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
nsdProbeEvery = 10 * time.Minute
|
||||
nsdProbeEvery = time.Hour // 22.10.2026: было 10 мин — лишняя нагрузка на НРД; живость между проверками видна по журналу ИШ
|
||||
nsdProbeWarnAfter = 3 * time.Minute // ответа на проверку нет 3 мин — жёлтый
|
||||
nsdProbeErrAfter = 10 * time.Minute // 10 мин — красный
|
||||
nsdPollErrAfter = 3 * time.Minute // шлюз получает от НРД ошибки 3 мин — красный (до этого жёлтый)
|
||||
@@ -294,7 +294,7 @@ func (s *Server) sendNSDProbe(ctx context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// nsdHealthLoop — проверка раз в 10 мин, история раз в минуту, автоповтор недоставленных.
|
||||
// nsdHealthLoop — проверка раз в час, история раз в минуту, автоповтор недоставленных.
|
||||
func (s *Server) nsdHealthLoop(ctx context.Context) {
|
||||
healthRegister("nsd-health", 3*time.Minute)
|
||||
nsdHistoryLoad()
|
||||
|
||||
@@ -332,7 +332,7 @@ type HandbookEntry struct {
|
||||
}
|
||||
|
||||
// saveHandbook раскладывает справочник в плоский список и пишет в файл. Возвращает, изменился ли
|
||||
// состав: справочник запрашивается раз в 10 минут (сквозная проверка связи, nsdhealth.go), и без
|
||||
// состав: справочник запрашивается раз в час (сквозная проверка связи, nsdhealth.go), и без
|
||||
// изменений его не нужно ни рассылать, ни переписывать в DEPO.
|
||||
func saveHandbook(hb *m2m.M2MTransferHandbook) (changed bool) { return saveHandbookEx(hb, true) }
|
||||
|
||||
|
||||
@@ -340,7 +340,7 @@ func (s *Server) Run(ctx context.Context) error {
|
||||
|
||||
// Авто-обновление справочника участников M2M раз в сутки (только реальный
|
||||
// ИШ). Тик суточный — в heartbeat-монитор не регистрируем, только recover.
|
||||
go superviseLoop(ctx, "nsd-health", s.rc, s.nsdHealthLoop) // связь с НРД: проверка раз в 10 мин (справочник), история, автоповтор
|
||||
go superviseLoop(ctx, "nsd-health", s.rc, s.nsdHealthLoop) // связь с НРД: проверка раз в час (справочник), история, автоповтор
|
||||
|
||||
// QUIK МНП: автоматический цикл M2M (регистрация до отправки — хук в
|
||||
// SendBuiltRequest; подпись/снятие/зачисление по MS010 — опросчик).
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<td><span class="nsd-dot {{.State}}"></span></td>
|
||||
<td><strong>{{.Title}}</strong></td>
|
||||
<td>{{.Text}}{{with .Detail}}<br><code>{{.}}</code>{{end}}</td>
|
||||
<td class="muted" style="font-size:12.5px">{{if eq .Key "igw"}}bj обращается к шлюзу каждые 30 с{{else if eq .Key "nsd"}}журнал шлюза: ответы НРД на опросы входящих{{else if eq .Key "m2m"}}раз в 10 мин запрос справочника участников M2M и ответ на него — весь путь до сервиса M2M и обратно{{else}}подтверждение доставки каждого отправленного пакета{{end}}</td>
|
||||
<td class="muted" style="font-size:12.5px">{{if eq .Key "igw"}}bj обращается к шлюзу каждые 30 с{{else if eq .Key "nsd"}}журнал шлюза: ответы НРД на опросы входящих{{else if eq .Key "m2m"}}раз в час (и по кнопке «Проверить связь сейчас») запрос справочника участников M2M и ответ на него — весь путь до сервиса M2M и обратно{{else}}подтверждение доставки каждого отправленного пакета{{end}}</td>
|
||||
</tr>{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user