From f4387deef7123d4fc3645c9369ec0c3c331dbee6 Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Sat, 30 Sep 2023 19:49:46 +0500 Subject: [PATCH] fix(scheduled events update): run update synchronously to avoid rate limit race conditions --- src/Services/Update/ScheduledEventUpdateService.cs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/Services/Update/ScheduledEventUpdateService.cs b/src/Services/Update/ScheduledEventUpdateService.cs index 85d532a..2126df9 100644 --- a/src/Services/Update/ScheduledEventUpdateService.cs +++ b/src/Services/Update/ScheduledEventUpdateService.cs @@ -34,20 +34,15 @@ public sealed class ScheduledEventUpdateService : BackgroundService protected override async Task ExecuteAsync(CancellationToken ct) { using var timer = new PeriodicTimer(TimeSpan.FromSeconds(1)); - var tasks = new List(); while (await timer.WaitForNextTickAsync(ct)) { var guildIds = _guildData.GetGuildIds(); - - tasks.AddRange(guildIds.Select(async id => + foreach (var id in guildIds) { var tickResult = await TickScheduledEventsAsync(id, ct); _logger.LogResult(tickResult, $"Error in scheduled events update for guild {id}."); - })); - - await Task.WhenAll(tasks); - tasks.Clear(); + } } }