From: Marcel van der Veldt Date: Tue, 30 Jul 2024 15:14:52 +0000 (+0200) Subject: throttle metadata retrieval X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=13c073e406871bb4dd19d5f9212f8c532b0599d6;p=music-assistant-server.git throttle metadata retrieval --- 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