mirror of
https://github.com/trycua/computer.git
synced 2026-01-03 20:10:04 -06:00
Added thread pool
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user