chat | sqlalchemy.exc.TimeoutError: QueuePool limit of size 20 overflow 30 reached, connection timed out, timeout 30.00 (Background on this error at: https://sqlalche.me/e/20/3o7r) chat | ERROR: Exception in ASGI application chat | Traceback (most recent call last): chat | File "/app/core/venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 255, in run_asgi chat | result = await self.app(self.scope, self.asgi_receive, self.asgi_send) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ chat | return await self.app(scope, receive, send) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/fastapi/applications.py", line 1106, in __call__ chat | await super().__call__(scope, receive, send) chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/applications.py", line 122, in __call__ chat | await self.middleware_stack(scope, receive, send) chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 149, in __call__ chat | await self.app(scope, receive, send) chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__ chat | raise exc chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__ chat | await self.app(scope, receive, sender) chat | File "/app/core/venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__ chat | raise e chat | File "/app/core/venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__ chat | await self.app(scope, receive, send) chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__ chat | await route.handle(scope, receive, send) chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/routing.py", line 341, in handle chat | await self.app(scope, receive, send) chat | File "/app/core/venv/lib/python3.11/site-packages/starlette/routing.py", line 82, in app chat | await func(session) chat | File "/app/core/venv/lib/python3.11/site-packages/fastapi/routing.py", line 325, in app chat | await dependant.call(**values) chat | File "/app/chat/main.py", line 102, in room_chat_endpoint chat | history = await event_client.message_history_in_room(room_id) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/chat/service/ws_handler.py", line 92, in message_history_in_room chat | unread, phone = await room_orm.unread_and_client_phone(room_id) or [0], None chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/chat/utils/orm/base.py", line 141, in wrapper chat | return await method(self, conn, *args, **kwargs) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/chat/utils/orm/room.py", line 394, in unread_and_client_phone chat | res = await db.execute(query) chat | ^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/session.py", line 455, in execute chat | result = await greenlet_spawn( chat | ^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 190, in greenlet_spawn chat | result = context.throw(*sys.exc_info()) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2308, in execute chat | return self._execute_internal( chat | ^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2180, in _execute_internal chat | conn = self._connection_for_bind(bind) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2047, in _connection_for_bind chat | return trans._connection_for_bind(engine, execution_options) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "", line 2, in _connection_for_bind chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go chat | ret_value = fn(self, *arg, **kw) chat | ^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1143, in _connection_for_bind chat | conn = bind.connect() chat | ^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3268, in connect chat | return self._connection_cls(self) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ chat | self._dbapi_connection = engine.raw_connection() chat | ^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3292, in raw_connection chat | return self.pool.connect() chat | ^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 452, in connect chat | return _ConnectionFairy._checkout(self) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 1269, in _checkout chat | fairy = _ConnectionRecord.checkout(pool) chat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 716, in checkout chat | rec = pool._do_get() chat | ^^^^^^^^^^^^^^ chat | File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/impl.py", line 158, in _do_get chat | raise exc.TimeoutError( chat | sqlalchemy.exc.TimeoutError: QueuePool limit of size 20 overflow 30 reached, connection timed out, timeout 30.00 (Background on this error at: https://sqlalche.me/e/20/3o7r)