web: fix for unresponsive web interface
Local Docker Build (Dev) / build-dev (push) Successful in 4s
Local Docker Build (Dev) / build-dev (push) Successful in 4s
This commit is contained in:
+6
-6
@@ -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 5 TV series to allow other requests
|
||||
if tv_count % 5 == 0:
|
||||
await asyncio.sleep(0.1) # 100ms yield to process other requests
|
||||
# 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
|
||||
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 10 movies to allow other requests (webhooks, web interface)
|
||||
if movie_count % 10 == 0:
|
||||
await asyncio.sleep(0.1) # 100ms yield to process other requests
|
||||
# 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
|
||||
print(f"INFO: Processed {movie_count} movies, yielding to other requests...")
|
||||
|
||||
print(f"INFO: Completed movie scan: {movie_count} movies processed in {scan_path}")
|
||||
|
||||
+2
-3
@@ -104,7 +104,6 @@ async def get_tv_series_list(dependencies: dict,
|
||||
where_conditions = []
|
||||
params = []
|
||||
having_conditions = []
|
||||
having_params = []
|
||||
|
||||
if search:
|
||||
where_conditions.append("(s.imdb_id LIKE ? OR s.path LIKE ?)")
|
||||
@@ -146,7 +145,7 @@ async def get_tv_series_list(dependencies: dict,
|
||||
HAVING {having_clause}
|
||||
) filtered_series
|
||||
"""
|
||||
cursor.execute(count_query, params + having_params)
|
||||
cursor.execute(count_query, params)
|
||||
else:
|
||||
# Simple count when no HAVING clause
|
||||
count_query = f"SELECT COUNT(*) FROM series s WHERE {where_clause}"
|
||||
@@ -170,7 +169,7 @@ async def get_tv_series_list(dependencies: dict,
|
||||
ORDER BY s.last_updated DESC
|
||||
LIMIT ? OFFSET ?
|
||||
"""
|
||||
cursor.execute(query, params + having_params + [limit, skip])
|
||||
cursor.execute(query, params + [limit, skip])
|
||||
|
||||
series = []
|
||||
for row in cursor.fetchall():
|
||||
|
||||
Reference in New Issue
Block a user