mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
feat: pre-build playlist cache and make matching interval configurable
- Pre-build playlist items cache during track matching for instant serving - Add PreBuildPlaylistItemsCacheAsync() to SpotifyTrackMatchingService - Combines local Jellyfin tracks + external matched tracks in correct Spotify order - Saves to both Redis and file cache for persistence across restarts - Change matching interval from hardcoded 30 minutes to configurable (default: 24 hours) - Add SPOTIFY_IMPORT_MATCHING_INTERVAL_HOURS environment variable - Set to 0 to only run once on startup (manual trigger still works) - Add endpoint usage files to .gitignore - Update documentation in README and .env.example Rationale: Spotify playlists like Discover Weekly update once per week, so running every 24 hours is more than sufficient. Pre-building the cache eliminates slow 'on the fly' playlist building. All 225 tests pass.
This commit is contained in:
@@ -126,6 +126,13 @@ SPOTIFY_IMPORT_SYNC_START_MINUTE=15
|
||||
# Example: If plugin runs at 4:15 PM and window is 2 hours, checks from 4:00 PM to 6:00 PM
|
||||
SPOTIFY_IMPORT_SYNC_WINDOW_HOURS=2
|
||||
|
||||
# Matching interval: How often to run track matching (in hours)
|
||||
# Spotify playlists like Discover Weekly update once per week, Release Radar updates weekly
|
||||
# Most playlists don't change frequently, so running once per day is reasonable
|
||||
# Set to 0 to only run once on startup (manual trigger via admin UI still works)
|
||||
# Default: 24 hours
|
||||
SPOTIFY_IMPORT_MATCHING_INTERVAL_HOURS=24
|
||||
|
||||
# Playlists configuration (JSON ARRAY FORMAT - managed by web UI)
|
||||
# Format: [["PlaylistName","SpotifyPlaylistId","first|last"],...]
|
||||
# - PlaylistName: Name as it appears in Jellyfin
|
||||
|
||||
Reference in New Issue
Block a user