11e73f6960
test(services/insta-render): worker unit tests (3 cases)
...
- _post_update payload·헤더 검증
- _process_one 정상 흐름 (processing + succeeded)
- _process_one 예외 시 failed webhook
Plan-B-Insta Phase 2 mature. Phase 3 cutover 준비 완료.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 02:09:55 +09:00
e0e56090ee
feat(services/insta-render): FastAPI entry + lifespan (SP-3)
...
lifespan에서 Browser pool init + worker_loop spawn. shutdown 시 정상 cleanup.
GET /health (LivenessProbe용).
Plan-B-Insta Phase 2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 02:07:31 +09:00
e0269bae39
feat(services/insta-render): Redis BLPOP worker + NAS webhook (SP-3)
...
queue:insta-render에서 BLPOP → NAS API에서 slate 조회 → render →
internal webhook으로 NAS DB 업데이트. queue:paused 체크 (task-watcher 연동).
Plan-B-Insta Phase 2 진행 중.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 02:06:45 +09:00
bee0add9dd
feat(services/insta-render): card_renderer.py + templates (SP-3)
...
NAS insta-lab/app/card_renderer.py 이식 + DB 의존성 제거.
slate 데이터는 worker가 NAS API에서 fetch해 인자로 전달.
결과 PNG는 INSTA_MEDIA_ROOT (/mnt/nas/webpage/data/insta/)에 직접 저장.
Browser pool + Semaphore(1) reuse (동시 Chromium 1개).
templates는 NAS와 동기화 (default theme + minimal theme).
.gitignore에 services/ 추적 예외 추가 (코드는 추적, .env는 유지).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 02:05:33 +09:00
1adf91a19b
feat(services/insta-render): Dockerfile + requirements + env.example (SP-3 scaffold)
...
Windows WSL2 Docker용 Chromium 워커 컨테이너 기본 골격.
다음 task에서 main.py, worker.py, card_renderer.py 작성.
Plan-B-Insta Phase 2 시작.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 02:02:58 +09:00