리포트
목적
report-svc는 백엔드 데이터로 학생별 시험 리포트를 만들고, Jinja2와 Playwright로 렌더링합니다. 주요 운영 경로는 RabbitMQ를 통한 비동기 방식이지만, 단일 리포트 생성을 위한 동기 fallback 라우트도 유지합니다.
공유 worker 규칙은 Workers Overview를 참조하세요.
소스 경로
| 경로 | 역할 |
|---|---|
lumie-worker/services/report/main.py | FastAPI 앱, lifespan, health 라우트, 동기 fallback 라우트 |
lumie-worker/services/report/src/schema.py | MQ 명령 및 콜백 payload 모델 |
lumie-worker/services/report/src/usecase.py | 리포트 생성 오케스트레이션 |
lumie-worker/services/report/src/mq/consumer.py | RabbitMQ consumer와 콜백 payload 빌더 |
lumie-worker/services/report/src/domain/report_generator.py | Jinja2와 Playwright 렌더링 |
lumie-worker/services/report/src/domain/report_data.py | 타입이 지정된 리포트 데이터 모델 |
lumie-worker/services/report/src/adapters/exam_api.py | 백엔드 시험, 결과, 순위, 통계 클라이언트 |
lumie-worker/services/report/src/adapters/student_api.py | 백엔드 학생 프로필 클라이언트 |
lumie-worker/services/report/templates/exam_report.html | JPEG로 캡처되는 HTML 템플릿 |
lumie-worker/contracts/mq-schemas-v1.yaml | 수동 유지 report MQ 계약 참고 자료 |