AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

CVFactory 백엔드 아키텍처: FastAPI, Celery, Playwright 활용 전략

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • *대상자**: 백엔드 개발자, AI/머신러닝 엔지니어, DevOps 엔지니어
  • *난이도**: 중급 이상 (아키텍처 설계, 비동기 처리, 컨테이너화 기술 이해 필요)

핵심 요약

  • FastAPI + Celery + Playwright 조합으로 비동기 처리 및 확장성 구현
  • 모듈화된 작업 흐름 (extract_html.pytext_extraction.pycontent_filtering.pycover_letter_generation.py)을 통해 재사용성 및 관리성 향상
  • @shared_taskpydantic.BaseSettings 사용으로 에러 처리와 설정 관리 강화

섹션별 세부 요약

1. **아키텍처 개요**

  • FastAPI를 사용한 HTTP 인터페이스 구현
  • Celery비동기 작업 큐 관리
  • Playwright를 통해 로그인 필요 페이지 크롤링
  • LangChain으로 LLM 프롬프트 템플릿 처리
  • Docker + Supervisord컨테이너화 및 배포

2. **작업 흐름 모듈**

  • extract_html.py: URL 기반의 Playwright 컨텍스트 생성인증 처리
  • text_extraction.py: BeautifulSoup으로 HTML 정제불필요 요소 제거
  • content_filtering.py: PII 제거불용어 필터링
  • cover_letter_generation.py: LLM 호출결과 스트리밍

3. **에러 처리 및 로깅 전략**

  • @shared_task에러 복구 메커니즘 구현 (retry_backoff=True 사용)
  • 구조화된 로깅 (task_logger)을 통한 모니터링 최적화
  • CloudWatch으로 프로덕션 로그 수집, 로컬에서는 파일 저장

4. **최적화 팁**

  • Celery에 JSON 직렬화 가능한 데이터만 전달
  • I/O 중량 작업(크롤링)웹 워커 외부의 전용 워커로 분리
  • pydantic.BaseSettings환경 변수 검증 강화

결론

  • 모듈화된 아키텍처확장성과 관리성을 동시에 달성 가능
  • @shared_taskpydantic.BaseSettings 사용을 통해 에러 탐지 및 복구를 강화
  • Docker + Supervisord재현 가능한 컨테이너 배포 가능
  • 비동기 처리 및 로깅 전략을 적용해 시스템 안정성 확보