SQS: sendMessageToQueue лимиты+sync persist, Reset чистит FIFO, nil-map Duplicates, ApproximateReceiveCount без +1, billing.Close после Shutdown, запрет ':' в access_key, recover в PeriodicTasks
This commit is contained in:
@@ -183,6 +183,11 @@ func (q *Queue) InitDuplicatation(deduplicationId string) {
|
||||
return
|
||||
}
|
||||
|
||||
// Ленивая инициализация: очередь, собранная литералом или загруженная из
|
||||
// Redis до появления поля, может иметь nil-map — иначе запись паникует.
|
||||
if q.Duplicates == nil {
|
||||
q.Duplicates = make(map[string]time.Time)
|
||||
}
|
||||
if _, ok := q.Duplicates[deduplicationId]; !ok {
|
||||
q.Duplicates[deduplicationId] = time.Now()
|
||||
}
|
||||
@@ -344,6 +349,10 @@ func (q *Queue) Reset() {
|
||||
q.uuidIdx = make(map[string]int)
|
||||
q.liveCount = 0
|
||||
q.deadCount = 0
|
||||
// Чистим FIFO-состояние: иначе блокировки групп и порядковые номера остались
|
||||
// бы, и сообщения этих групп не выдавались после purge (ревью 2026-10-11).
|
||||
q.FIFOMessages = make(map[string]int)
|
||||
q.FIFOSequenceNumbers = make(map[string]int)
|
||||
}
|
||||
|
||||
// EnsureIndexes — экспортируемая обёртка над ensureIndexes: строит индексы,
|
||||
|
||||
Reference in New Issue
Block a user