SQS: DeletePersist возвращает ошибку (500 при сбое Redis), fail-fast загрузка очередей, дефолты атрибутов при CreateQueue, защита SqsErrors от nil-deref

This commit is contained in:
Repinoid
2026-10-11 08:56:49 +03:00
parent 5284a56f7a
commit a08d58cba1
9 changed files with 39 additions and 18 deletions
+2 -2
View File
@@ -113,7 +113,7 @@ func processQueueTick(key string, queue *models.Queue) {
if len(expired) > 0 {
log.Infof("Queue [%s]: evicted %d messages by MessageRetentionPeriod", queue.Name, len(expired))
// Удаляем просроченные из Redis, чтобы не воскресли после рестарта.
persistence.DeleteMessagesPersist(key, expired)
_ = persistence.DeleteMessagesPersist(key, expired)
}
}
@@ -163,7 +163,7 @@ func processQueueTick(key string, queue *models.Queue) {
queue.RemoveIndex(i)
// Персист переноса: иначе после рестарта сообщение «воскреснет»
// в исходной очереди (не удалено из Redis) и пропадёт из DLQ.
persistence.DeleteMessagePersist(key, msgUuid)
_ = persistence.DeleteMessagePersist(key, msgUuid)
persistence.SaveMessage(dlqKeyFor(key, dlqName), &dlqMsg)
}
}