From fe9c1e17be73815512c52c4e597efd4258301ff1 Mon Sep 17 00:00:00 2001 From: Josh Patra Date: Tue, 3 Feb 2026 17:05:34 -0500 Subject: [PATCH] Add rate limiting delays to prevent Spotify 429 errors - Increase delay between playlist fetches from 1s to 3s - Only delay between playlists, not after the last one - Add debug logging for rate limit delays - Spotify is very aggressive with rate limiting on their API --- allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs b/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs index e3a7b35..aefb1a2 100644 --- a/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs +++ b/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs @@ -297,8 +297,13 @@ public class SpotifyPlaylistFetcher : BackgroundService _logger.LogError(ex, "Error fetching playlist '{Name}'", config.Name); } - // Rate limiting between playlists - await Task.Delay(_spotifyApiSettings.RateLimitDelayMs, cancellationToken); + // Rate limiting between playlists - Spotify is VERY aggressive with rate limiting + // Wait 3 seconds between each playlist to avoid 429 TooManyRequests errors + if (config != _spotifyImportSettings.Playlists.Last()) + { + _logger.LogDebug("Waiting 3 seconds before next playlist to avoid rate limits..."); + await Task.Delay(TimeSpan.FromSeconds(3), cancellationToken); + } } _logger.LogInformation("=== FINISHED FETCHING SPOTIFY PLAYLISTS ===");