3.1.3 Fast API

1. FastAPI 익숙해지기

1.1. Event Handler

이벤트가 발생할때, 그 처리를 담당하는 함

  • @app.on_event(“startup”): application이 시작할 때

  • @app.on_event(“shutdown”): application이 종료될 때

1.2. API Router

  • API Router는 더 큰 애플리케이션들에서 많이 사용되는 기능

  • API Endpoint를 정의

  • Python Subpackage

  • APIRouter는 Mini FastAPI로 여러 API를 연결해서 활용

각 기능에 맞도록 별도에 파일에 구현하고, 합치는 형식으로 구현될 수 있다.

1.3. 프로젝트 구조

1.4. Error Handling

  • Error Handling은 웹 서버를 안정적으로 운영하기 위해 반드시 필요한 주제

  • 서버에서 Error가 발생한 경우, 어떤 Error가 발생했는지 알아야 하고 요청한 클라이언트에 해당 정보를 전달해 대응할 수 있어야 함

  • 서버 개발자는 모니터링 도구를 사용해 Error Log를 수집해야 함

  • 발생하고 있는 오류를 빠르게 수정할 수 있도록 예외 처리를 잘 만들 필요가 있음

1.5. Background Tasks

  • FastAPI는 Starlett이라는 비동기 프레임워크를 래핑해서 사용

  • FastAPI의 기능 중 Background Tasks 기능은 오래 걸리는 작업들을 background에서 실행함

  • Online Serving에서 CPU 사용이 많은 작업들을 Background Task로 사용하면,

  • 클라이언트는 작업 완료를 기다리지 않고 즉시 Response를 받아볼 수 있음

  • 특정 작업 후, 이메일 전송하는 Task 등

14_background_tasks.py: 파일 참고

2. FastAPI 가 어렵다면??

2.1. 프로젝트 구조 템플릿 - Cookiecutter

Last updated