some super small tweaks
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 19 Oct 2024 23:45:07 +0000 (01:45 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 19 Oct 2024 23:45:07 +0000 (01:45 +0200)
music_assistant/server/controllers/cache.py
music_assistant/server/helpers/ffmpeg.py

index 441c3c6e57daff31267df3d9a63b165916c19d8a..704c96b6dcba9dbe0301c816586531519a8d1a28 100644 (file)
@@ -190,7 +190,6 @@ class CacheController(CoreController):
             query_parts.append(f"sub_key LIKE '%{key_filter}%'")
         query = "WHERE " + " AND ".join(query_parts) if query_parts else None
         await self.database.delete(DB_TABLE_CACHE, query=query)
-        await self.database.vacuum()
         self.logger.info("Clearing database DONE")
 
     async def auto_cleanup(self) -> None:
@@ -206,10 +205,6 @@ class CacheController(CoreController):
                 await self.database.delete(DB_TABLE_CACHE, {"id": db_row["id"]})
                 cleaned_records += 1
             await asyncio.sleep(0)  # yield to eventloop
-        if cleaned_records > 50:
-            self.logger.debug("Compacting database...")
-            await self.database.vacuum()
-            self.logger.debug("Compacting database done")
         self.logger.debug("Automatic cleanup finished (cleaned up %s records)", cleaned_records)
 
     async def _setup_database(self) -> None:
@@ -248,7 +243,7 @@ class CacheController(CoreController):
             {"key": "version", "value": str(DB_SCHEMA_VERSION), "type": "str"},
         )
         await self.__create_database_indexes()
-        # compact db
+        # compact db (vacuum) at startup
         self.logger.debug("Compacting database...")
         try:
             await self.database.vacuum()
index 74b1c127ac0c5bfe1db894cbc6fcd3025ef69d10..3e390f658259185188307cb47b90ae6a4cfa9201 100644 (file)
@@ -124,6 +124,8 @@ class FFMpeg(AsyncProcess):
         try:
             async for chunk in TimedAsyncGenerator(self.audio_input, 300):
                 audio_received = True
+                if self.proc and self.proc.returncode is not None:
+                    raise AudioError("Parent process already exited")
                 await self.write(chunk)
             generator_exhausted = True
             if not audio_received: