Added thread pool

This commit is contained in:
Dillon DuPont
2025-07-10 15:24:46 -04:00
parent d4a154059d
commit 63f5db9674

View File

@@ -237,7 +237,9 @@ async def websocket_endpoint(websocket: WebSocket):
if asyncio.iscoroutinefunction(handler_func):
result = await handler_func(**filtered_params)
else:
result = handler_func(**filtered_params)
# Run sync functions in thread pool to avoid blocking event loop
loop = asyncio.get_event_loop()
result = await loop.run_in_executor(None, lambda: handler_func(**filtered_params))
await websocket.send_json({"success": True, **result})
except Exception as cmd_error:
logger.error(f"Error executing command {command}: {str(cmd_error)}")
@@ -364,7 +366,9 @@ async def cmd_endpoint(
if asyncio.iscoroutinefunction(handler_func):
result = await handler_func(**filtered_params)
else:
result = handler_func(**filtered_params)
# Run sync functions in thread pool to avoid blocking event loop
loop = asyncio.get_event_loop()
result = await loop.run_in_executor(None, lambda: handler_func(**filtered_params))
# Stream the successful result
response_data = {"success": True, **result}