More resilience

This commit is contained in:
Tim O'Farrell 2025-12-23 13:39:38 -07:00
parent cb6edfe72f
commit 80c81738ed
2 changed files with 11 additions and 9 deletions

View File

@ -210,11 +210,17 @@ async def start_app_conversation(
set_db_session_keep_open(request.state, True)
set_httpx_client_keep_open(request.state, True)
"""Start an app conversation start task and return it."""
async_iter = app_conversation_service.start_app_conversation(start_request)
result = await anext(async_iter)
asyncio.create_task(_consume_remaining(async_iter, db_session, httpx_client))
return result
try:
"""Start an app conversation start task and return it."""
async_iter = app_conversation_service.start_app_conversation(start_request)
result = await anext(async_iter)
asyncio.create_task(_consume_remaining(async_iter, db_session, httpx_client))
return result
except Exception:
await db_session.close()
await httpx_client.aclose()
raise
@router.post('/stream-start')

View File

@ -21,12 +21,10 @@ from openhands.app_server.app_conversation.app_conversation_models import (
)
from openhands.app_server.config import (
depends_app_conversation_info_service,
depends_db_session,
depends_event_service,
depends_jwt_service,
depends_sandbox_service,
get_event_callback_service,
get_global_config,
)
from openhands.app_server.errors import AuthError
from openhands.app_server.event.event_service import EventService
@ -54,8 +52,6 @@ sandbox_service_dependency = depends_sandbox_service()
event_service_dependency = depends_event_service()
app_conversation_info_service_dependency = depends_app_conversation_info_service()
jwt_dependency = depends_jwt_service()
config = get_global_config()
db_session_dependency = depends_db_session()
_logger = logging.getLogger(__name__)