From 13c073e406871bb4dd19d5f9212f8c532b0599d6 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Tue, 30 Jul 2024 17:14:52 +0200 Subject: [PATCH] throttle metadata retrieval --- .../server/controllers/metadata.py | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/music_assistant/server/controllers/metadata.py b/music_assistant/server/controllers/metadata.py index d3f88747..db6f7e1e 100644 --- a/music_assistant/server/controllers/metadata.py +++ b/music_assistant/server/controllers/metadata.py @@ -246,6 +246,8 @@ class MetaDataController(CoreController): limit=250, order_by="random", extra_query=query ): await self._update_artist_metadata(artist) + # we really need to throttle this + await asyncio.sleep(10) query = ( f"WHERE json_extract({DB_TABLE_ALBUMS}.metadata,'$.last_refresh') ISNULL " @@ -255,6 +257,19 @@ class MetaDataController(CoreController): limit=250, order_by="random", extra_query=query ): await self._update_album_metadata(album) + # we really need to throttle this + await asyncio.sleep(10) + + query = ( + f"WHERE json_extract({DB_TABLE_PLAYLISTS}.metadata,'$.last_refresh') ISNULL " + f"OR json_extract({DB_TABLE_PLAYLISTS}.metadata,'$.last_refresh') < {timestamp}" + ) + for playlist in await self.mass.music.playlists.library_items( + limit=250, order_by="random", extra_query=query + ): + await self._update_playlist_metadata(playlist) + # we really need to throttle this + await asyncio.sleep(10) query = ( f"WHERE json_extract({DB_TABLE_TRACKS}.metadata,'$.last_refresh') ISNULL " @@ -264,15 +279,9 @@ class MetaDataController(CoreController): limit=50, order_by="random", extra_query=query ): await self._update_track_metadata(track) + # we really need to throttle this + await asyncio.sleep(30) - query = ( - f"WHERE json_extract({DB_TABLE_PLAYLISTS}.metadata,'$.last_refresh') ISNULL " - f"OR json_extract({DB_TABLE_PLAYLISTS}.metadata,'$.last_refresh') < {timestamp}" - ) - for playlist in await self.mass.music.playlists.library_items( - limit=250, order_by="random", extra_query=query - ): - await self._update_playlist_metadata(playlist) finally: self._scanner_running = False -- 2.34.1