diff --git a/VERSION b/VERSION index 5aa7c52..197c4d5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.9 +2.4.0 diff --git a/api/routes.py b/api/routes.py index d721c4f..8c9b738 100644 --- a/api/routes.py +++ b/api/routes.py @@ -597,9 +597,9 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N except Exception as e: print(f"ERROR: Failed processing TV series {item}: {e}") - # Yield control every 3 TV series to allow other requests - if tv_count % 3 == 0: - await asyncio.sleep(0.01) # 10ms yield to process other requests + # Yield control every TV series to allow other requests + if tv_count % 1 == 0: + await asyncio.sleep(0.2) # 200ms yield to process other requests print(f"INFO: Processed {tv_count} TV series, yielding to other requests...") if scan_type in ["both", "movies"] and scan_path in config.movie_paths: @@ -614,9 +614,9 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N except Exception as e: print(f"ERROR: Failed processing movie {item}: {e}") - # Yield control every 5 movies to allow other requests (webhooks, web interface) - if movie_count % 5 == 0: - await asyncio.sleep(0.01) # 10ms yield to process other requests + # Yield control every 2 movies to allow other requests (webhooks, web interface) + if movie_count % 2 == 0: + await asyncio.sleep(0.2) # 200ms yield to process other requests print(f"INFO: Processed {movie_count} movies, yielding to other requests...") print(f"INFO: Completed movie scan: {movie_count} movies processed in {scan_path}") diff --git a/processors/tv_processor.py b/processors/tv_processor.py index f9aaf60..48bb37d 100644 --- a/processors/tv_processor.py +++ b/processors/tv_processor.py @@ -100,10 +100,10 @@ class TVProcessor: _log("ERROR", f"S{season:02d}E{episode:02d}: Database write failed: {e}") # Continue processing other episodes - # Yield control every 10 episodes to allow other requests (webhooks, web interface) - if episode_count % 10 == 0: + # Yield control every 3 episodes to allow other requests (webhooks, web interface) + if episode_count % 3 == 0: import time - time.sleep(0.005) # 5ms yield to improve responsiveness during episode processing + time.sleep(0.1) # 100ms yield to improve responsiveness during episode processing _log("DEBUG", f"Processed {episode_count} episodes, yielding to allow other requests...") # Skip season.nfo and tvshow.nfo creation - focus only on episode NFOs