Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 11 for asynccontextmanager (0.92 sec)

  1. tests/test_router_events.py

    
    def test_merged_mixed_state_lifespans() -> None:
        @asynccontextmanager
        async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
            yield
    
        @asynccontextmanager
        async def router_lifespan(app: FastAPI) -> AsyncGenerator[dict[str, bool], None]:
            yield {"router": True}
    
        @asynccontextmanager
        async def sub_router_lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 7.3K bytes
    - Viewed (0)
  2. tests/test_tutorial/test_dependencies/test_tutorial007.py

    import asyncio
    from contextlib import asynccontextmanager
    from unittest.mock import Mock, patch
    
    from docs_src.dependencies.tutorial007_py39 import get_db
    
    
    def test_get_db():  # Just for coverage
        async def test_async_gen():
            cm = asynccontextmanager(get_db)
            async with cm() as db_session:
                return db_session
    
        dbsession_moock = Mock()
    
        with patch(
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Fri Dec 26 10:43:02 UTC 2025
    - 642 bytes
    - Viewed (0)
  3. docs_src/events/tutorial003_py39.py

    from contextlib import asynccontextmanager
    
    from fastapi import FastAPI
    
    
    def fake_answer_to_everything_ml_model(x: float):
        return x * 42
    
    
    ml_models = {}
    
    
    @asynccontextmanager
    async def lifespan(app: FastAPI):
        # Load the ML model
        ml_models["answer_to_everything"] = fake_answer_to_everything_ml_model
        yield
        # Clean up the ML models and release the resources
        ml_models.clear()
    
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 569 bytes
    - Viewed (0)
  4. fastapi/concurrency.py

    from collections.abc import AsyncGenerator
    from contextlib import AbstractContextManager
    from contextlib import asynccontextmanager as asynccontextmanager
    from typing import TypeVar
    
    import anyio.to_thread
    from anyio import CapacityLimiter
    from starlette.concurrency import iterate_in_threadpool as iterate_in_threadpool  # noqa
    from starlette.concurrency import run_in_threadpool as run_in_threadpool  # noqa
    from starlette.concurrency import (  # noqa
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 1.5K bytes
    - Viewed (0)
  5. docs_src/app_testing/tutorial004_py39.py

    from contextlib import asynccontextmanager
    
    from fastapi import FastAPI
    from fastapi.testclient import TestClient
    
    items = {}
    
    
    @asynccontextmanager
    async def lifespan(app: FastAPI):
        items["foo"] = {"name": "Fighters"}
        items["bar"] = {"name": "Tenders"}
        yield
        # clean up items
        items.clear()
    
    
    app = FastAPI(lifespan=lifespan)
    
    
    @app.get("/items/{item_id}")
    async def read_items(item_id: str):
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 1.2K bytes
    - Viewed (0)
  6. docs/es/docs/advanced/events.md

    Y la parte después del `yield` será ejecutada **después** de que la aplicación haya terminado.
    
    ### Async Context Manager { #async-context-manager }
    
    Si revisas, la función está decorada con un `@asynccontextmanager`.
    
    Eso convierte a la función en algo llamado un "**async context manager**".
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 8.5K bytes
    - Viewed (0)
  7. docs/en/docs/advanced/events.md

    And the part after the `yield` will be executed **after** the application has finished.
    
    ### Async Context Manager { #async-context-manager }
    
    If you check, the function is decorated with an `@asynccontextmanager`.
    
    That converts the function into something called an "**async context manager**".
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 7.9K bytes
    - Viewed (0)
  8. docs/pt/docs/advanced/events.md

    E a parte posterior ao `yield` será executada **depois** de a aplicação ter terminado.
    
    ### Gerenciador de contexto assíncrono { #async-context-manager }
    
    Se você verificar, a função está decorada com um `@asynccontextmanager`.
    
    Isso converte a função em algo chamado "**gerenciador de contexto assíncrono**".
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 8.8K bytes
    - Viewed (0)
  9. docs/de/docs/advanced/events.md

    Und der Teil nach `yield` wird ausgeführt, **nachdem** die Anwendung beendet ist.
    
    ### Asynchroner Kontextmanager { #async-context-manager }
    
    Wie Sie sehen, ist die Funktion mit einem `@asynccontextmanager` versehen.
    
    Dadurch wird die Funktion in einen sogenannten „**asynchronen Kontextmanager**“ umgewandelt.
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 9.5K bytes
    - Viewed (0)
  10. docs/ko/docs/advanced/events.md

    {* ../../docs_src/events/tutorial003.py hl[14:19] *}
    
    함수의 첫 번째 부분, 즉 `yield` 이전의 코드는 애플리케이션이 시작되기 **전에** 실행됩니다.
    
    그리고 `yield` 이후의 부분은 애플리케이션이 완료된 후 **나중에** 실행됩니다.
    
    ### 비동기 컨텍스트 매니저
    
    함수를 확인해보면, `@asynccontextmanager`로 장식되어 있습니다.
    
    이것은 함수를 "**비동기 컨텍스트 매니저**"라고 불리는 것으로 변환시킵니다.
    
    {* ../../docs_src/events/tutorial003.py hl[1,13] *}
    
    파이썬에서 **컨텍스트 매니저**는 `with` 문에서 사용할 수 있는 것입니다. 예를 들어, `open()`은 컨텍스트 매니저로 사용할 수 있습니다:
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Sat Oct 11 17:48:49 UTC 2025
    - 9.2K bytes
    - Viewed (0)
Back to top