Uvicorn
프로그래밍 방식으로 실행
애플리케이션에서 직접 uvicorn을 실행하는 방법에는 여러 가지가 있습니다.
uvicorn.run
uvicorn명령줄 인터페이스 와 동등한 프로그래밍 방식을 찾고 있다면 다음을 사용 uvicorn.run()하세요.
# main.py
import uvicorn
async def app(scope, receive, send):
...
if __name__ == "__main__":
uvicorn.run("main:app", port=5000, log_level="info")
Config및 Server인스턴스
구성 및 서버 수명 주기를 더 자세히 제어하려면 다음을 사용 uvicorn.Config하십시오 uvicorn.Server.
import uvicorn
async def app(scope, receive, send):
...
if __name__ == "__main__":
config = uvicorn.Config("main:app", port=5000, log_level="info")
server = uvicorn.Server(config)
server.run()
이미 실행 중인 비동기 환경에서 Uvicorn을 실행하려면 다음을 uvicorn.Server.serve()대신 사용하세요.
import asyncio
import uvicorn
async def app(scope, receive, send):
...
async def main():
config = uvicorn.Config("main:app", port=5000, log_level="info")
server = uvicorn.Server(config)
await server.serve()
if __name__ == "__main__":
asyncio.run(main())