P1.4: tenant-индекс очередей (O(1) подсчёт/список вместо скана)

Введён тип QueueStore с индексом accessKey→{queueName}. Мутации очередей идут через
AddQueue/RemoveQueue (create/delete/restore/config/seed/admin), подсчёт и список —
через CountTenantQueues/TenantQueueNames. Устранены O(total) скан-по-префиксу в
countTenantQueues, deleteTenant, listTenantQueues, createTenantQueue. API SyncQueues
(Queues, Lock) сохранён — остальной код не затронут.
This commit is contained in:
Repinoid
2026-10-06 18:36:03 +03:00
parent fb833ef01c
commit 3a52960d5b
9 changed files with 127 additions and 62 deletions
+2 -2
View File
@@ -105,7 +105,7 @@ func LoadYamlConfig(filename string, env string) []string {
queue.MessageRetentionPeriod = models.CurrentEnvironment.QueueAttributeDefaults.MessageRetentionPeriod
}
models.SyncQueues.Queues[queue.Name] = &models.Queue{
models.SyncQueues.AddQueue(queue.Name, &models.Queue{
Name: queue.Name,
VisibilityTimeout: queue.VisibilityTimeout,
Arn: queueArn,
@@ -116,7 +116,7 @@ func LoadYamlConfig(filename string, env string) []string {
IsFIFO: utils.HasFIFOQueueName(queue.Name),
EnableDuplicates: models.CurrentEnvironment.EnableDuplicates,
Duplicates: make(map[string]time.Time),
}
})
}
// Второй проход — устанавливаем RedrivePolicy, чтобы DLQ были доступны независимо от порядка