fix(iot): слить остаток буфера bridge при shutdown + безопасное закрытие канала (🔴3)
- Диспатчер получил собственный ctx (не сигнальный): при shutdown воркеры успевают отправить накопленное в SQS (раньше сразу возвращали «context canceled» и дропали остаток). Флаш ограничен bridgeFlushTimeout=10с. - enqueue/closeAndWait синхронизированы мьютексом (closed-флаг): поздний колбэк paho больше не паникует на «send on closed channel».
This commit is contained in:
@@ -42,7 +42,7 @@ func Run(ctx context.Context, cfg *config.Config, sqsClient *sqs.Client, log *sl
|
||||
// Отправка в SQS — через диспатчер (канал + worker-пул): колбэк MQTT
|
||||
// не блокируется сетью (фикс CRITICAL из ревью 2026-08-16).
|
||||
dispatcher := newSQSDispatcher(sqsClient, queueURL, log)
|
||||
dispatcher.start(ctx)
|
||||
dispatcher.start()
|
||||
|
||||
handler := newMessageHandler(dispatcher, log)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user