24 lines
434 B
Python
24 lines
434 B
Python
from contextlib import asynccontextmanager
|
|
from typing import AsyncGenerator
|
|
|
|
import uvicorn
|
|
from fastapi import FastAPI
|
|
|
|
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
|
|
yield
|
|
|
|
|
|
def app_factory() -> FastAPI:
|
|
app = FastAPI(lifespan=lifespan)
|
|
return app
|
|
|
|
|
|
def main() -> None:
|
|
uvicorn.run(app_factory, factory=True, host="0.0.0.0", port=8000)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|