From d45e62946067589beaa0948b3caf74aa36bb7c1a Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 4 Apr 2022 13:21:36 +0100 Subject: [PATCH] Delay device list updates too --- federationapi/queue/queue.go | 6 +++--- keyserver/internal/device_list_update.go | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/federationapi/queue/queue.go b/federationapi/queue/queue.go index 63861e458..392737918 100644 --- a/federationapi/queue/queue.go +++ b/federationapi/queue/queue.go @@ -119,11 +119,11 @@ func NewOutgoingQueues( } else { log.WithError(err).Error("Failed to get EDU server names for destination queue hydration") } - offset := time.Duration(5) + offset := time.Second * 5 for serverName := range serverNames { if queue := queues.getQueue(serverName); queue != nil { - time.AfterFunc(time.Second*offset, queue.wakeQueueIfNeeded) - offset++ + time.AfterFunc(offset, queue.wakeQueueIfNeeded) + offset += time.Second } } } diff --git a/keyserver/internal/device_list_update.go b/keyserver/internal/device_list_update.go index 4b2b8c187..06b75d675 100644 --- a/keyserver/internal/device_list_update.go +++ b/keyserver/internal/device_list_update.go @@ -157,8 +157,12 @@ func (u *DeviceListUpdater) Start() error { if err != nil { return err } + offset := time.Second * 10 for _, userID := range staleLists { - u.notifyWorkers(userID) + time.AfterFunc(offset, func() { + u.notifyWorkers(userID) + }) + offset += time.Second } return nil }