Работа с доходностью и исключением зависимости; RuntimeError: генератор не остановилсяPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Работа с доходностью и исключением зависимости; RuntimeError: генератор не остановился

Сообщение Anonymous »

У меня есть код FastAPI 0.109.2, который мне нужно обновить до версии 0.115.4. Но когда я это делаю, я получаю сообщение об ошибке: RuntimeError: генератор не остановился. Я новичок в FastAPI; поэтому мне было трудно найти решение для этой проблемы.
моя конечная точка выглядит примерно так:

Код: Выделить всё

@router.get('/{activity_id}')
async def get_activity_detail(param_1: int,
response: Response,
creds: Creds = Depends(),
db:SQLServer = Depends(get_db):

# Does something
Моя функция get_db выглядит следующим образом:

Код: Выделить всё

def get_db() ->  Generator:  # coverage: omit
try:
db = SessionLocal()
yield db
except Exception as e:
print(f'Error : raised from {inspect.stack()[0][3]} - {str(e)}')
raise
finally:
db.close()
print(f'Closing the database connection')
Трассировка стека:

Код: Выделить всё

[2024-10-30 00:28:47 +0000] [25] [ERROR] Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
result = await app(  # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 113, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 290, in app
async with AsyncExitStack() as async_exit_stack:
File "/usr/local/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/local/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/contextlib.py", line 217, in __aexit__
await anext(self.gen)
File "/usr/local/lib/python3.11/site-packages/fastapi/concurrency.py", line 37, in contextmanager_in_threadpool
await anyio.to_thread.run_sync(
File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2441, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 943, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/contextlib.py", line 149, in __exit__
raise RuntimeError("generator didn't stop")
RuntimeError: generator didn't stop
Буду очень признателен за помощь. Спасибо! :)
Я не ожидал ошибок. Я пытался следовать официальной документации: https://fastapi.tiangolo.com/tutorial/d ... ith-yield/. Но поскольку я новичок в FastAPI, мне сложно найти решение.

Подробнее здесь: https://stackoverflow.com/questions/791 ... didnt-stop
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Работа с доходностью и исключением зависимости; RuntimeError: генератор не остановился
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Pytest тесты с доходностью
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Pytest тесты с доходностью
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Общий C# API Client Service с общей доходностью
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Поднять RuntimeError(f «Каталог «{каталог}» не существует») RuntimeError: каталог «статический/» не существует из файла
    Гость » » в форуме Python
    0 Ответы
    187 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»