P1.1 groundwork: per-queue mutex в Queue + анализ блокеров
Добавлены поле mu (не сериализуется) и LockMu/RLockMu-аксессоры в models.Queue; исправлено копирование Queue by value (numberOfHiddenMessagesInQueue). Глобальный лок пока используется везде — поведение не менялось. Задокументированы блокеры полного перехода (DLQ-указатель, мутирующий marshalQueueMeta, релинк DLQ после загрузки, атомарность перевода).
This commit is contained in:
+1
-1
@@ -136,7 +136,7 @@ func processQueueTick(key string, queue *models.Queue) {
|
||||
}
|
||||
}
|
||||
|
||||
func numberOfHiddenMessagesInQueue(queue models.Queue) int {
|
||||
func numberOfHiddenMessagesInQueue(queue *models.Queue) int {
|
||||
num := 0
|
||||
for _, m := range queue.Messages {
|
||||
if m.ReceiptHandle != "" || m.DelaySecs > 0 && time.Now().Before(m.SentTime.Add(time.Duration(m.DelaySecs)*time.Second)) {
|
||||
|
||||
Reference in New Issue
Block a user