У меня есть код FastAPI 0.109.2, который мне нужно обновить до версии 0.115.4. Но когда я это делаю, я получаю сообщение об ошибке: RuntimeError: генератор не остановился. Я новичок в FastAPI; поэтому мне было трудно найти решение для этой проблемы.
моя конечная точка выглядит примерно так:
[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, мне сложно найти решение.
У меня есть код FastAPI 0.109.2, который мне нужно обновить до версии 0.115.4. Но когда я это делаю, я получаю сообщение об ошибке: RuntimeError: генератор не остановился. Я новичок в FastAPI; поэтому мне было трудно найти решение для этой проблемы. моя конечная точка выглядит примерно так: [code]@router.get('/{activity_id}') async def get_activity_detail(param_1: int, response: Response, creds: Creds = Depends(), db:SQLServer = Depends(get_db):
# Does something [/code] Моя функция get_db выглядит следующим образом: [code]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') [/code] Трассировка стека: [code][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 [/code] Буду очень признателен за помощь. Спасибо! :) Я не ожидал ошибок. Я пытался следовать официальной документации: https://fastapi.tiangolo.com/tutorial/dependents/dependenties-with-yield/. Но поскольку я новичок в FastAPI, мне сложно найти решение.
У меня есть код FastAPI 0.109.2, который мне нужно обновить до версии 0.115.4. Но когда я это делаю, я получаю сообщение об ошибке: RuntimeError: генератор не остановился. Я новичок в FastAPI; поэтому мне было трудно найти решение для этой...
Я пытаюсь написать пакет PyTest, в котором у меня есть несколько тестов, которые запускают логику «до» один за другим, затем есть тест, который запускает обновление на тестовой машине, после чего все «после» логика работала во всех тестах.
def...
У меня есть несколько тестов ( test_logic_1 , test_logic_2, test_logic_3), каждый из которых выполняет логику «до» один за другим.
После этих тестов проводится тест обновления ( test_upgrade ), который...
У меня есть проект C#, который называет некоторые API. Эти API довольно разные, и ответ отличается почти для каждого вызова.
Я написал общую службу клиентов:
public class HttpClientHelper
{
private readonly IHttpClientFactory _httpClientFactory;...