galaxis-po/docs/issues-2026-05-26.md
머니페니 25115b33dd fix: resolve 5 site inspection issues (2026-05-26)
ISSUE-1: ETFPriceCollector 좀비 프로세스 재발 방지
- etf_price_collector: 루프마다 heartbeat() 호출 추가
- admin API: POST /api/admin/collect/reset-stuck 엔드포인트 추가

ISSUE-3: 헤더 제목 "대시보드" 고정 버그
- new-header.tsx pageTitles에 누락된 7개 경로 추가

ISSUE-4: 대시보드 파이 차트 미렌더링
- DonutChart Legend를 Recharts 외부로 분리하여 파이 공간 확보

ISSUE-5: daily_snapshots records_count 항상 0
- PriceService에 ETFPrice 테이블 fallback 추가
2026-05-26 22:35:02 +09:00

3.4 KiB

사이트 점검 이슈 목록 (2026-05-26)

점검 URL: https://galaxis.ayuriel.duckdns.org/ 점검 일시: 2026-05-26


🔴 심각 (즉시 처리)

[ISSUE-1] ETFPriceCollector 좀비 프로세스 + 오늘 배치 미실행

  • 증상: ETFPriceCollector가 2026-05-25 오전 9:00:32부터 running 상태로 24시간 이상 멈혀 있음
  • 영향:
    • 오늘(2026-05-26) 오전 9시 수집 배치 전체 미실행 (StockCollector, PriceCollector, ValuationCollector, SectorCollector, ETFCollector, ETFPriceCollector)
    • KJB 스크리닝 오늘 신호 0건
  • 확인 위치: 데이터 수집 페이지 → 최근 작업 이력
  • 처리 방법:
    1. 좀비 프로세스 강제 종료 (DB job 레코드 상태를 failed로 업데이트 또는 프로세스 kill)
    2. 오늘 수집 배치 수동 실행 (데이터 수집 페이지 각 항목 "실행" 버튼 또는 백엔드 직접 호출)
    3. 원인 분석: 왜 ETFPriceCollector가 멈췄는지 로그 확인

[ISSUE-2] 데이터 탐색 메뉴 → 404

  • 증상: 사이드바 "데이터 탐색" 클릭 시 /admin/data/explorer → 404 오류
  • 처리 방법: 해당 라우트/페이지가 미구현이거나 경로 변경된 것 — 프론트엔드 라우트 확인 및 복구

🟠 UI 버그

[ISSUE-3] 상단 헤더 제목이 모든 서브 페이지에서 "대시보드"로 고정

  • 증상: 헤더 <title> 또는 상단 텍스트가 페이지에 무관하게 "대시보드"로 표시됨
  • 영향 페이지: KJB 스크리닝, 매매 신호, AI 에이전트, 트레이딩 저널, 퇴직연금, 포지션 사이징, 설정
  • 정상 페이지: 대시보드, 전략, 백테스트, 데이터 수집
  • 처리 방법: 레이아웃 컴포넌트에서 현재 경로에 따라 헤더 제목을 동적으로 설정하는 로직 수정

[ISSUE-4] 대시보드 자산 배분 파이 차트 미렌더링

  • 증상: 자산 배분 섹션에 범례(KODEX 200미국채혼합 45.4% 등)만 표시, 파이 차트가 빈 공간
  • 처리 방법: 차트 라이브러리 렌더링 오류 또는 데이터 형식 문제 확인 (콘솔 에러 확인 필요)

🟡 경미 (확인 필요)

[ISSUE-5] daily_snapshots 건수 항상 0

  • 증상: 매일 success 상태로 실행되지만 건수가 항상 0
  • 처리 방법: 정상 동작인지(스냅샷 쿼리 결과가 0인 게 맞는지) 또는 실제 버그인지 로직 확인

처리 현황

ID 항목 우선순위 상태
ISSUE-1 ETFPriceCollector 좀비 + 배치 미실행 🔴 즉시 코드 수정 완료 (운영 DB 조치 별도 필요)
ISSUE-2 데이터 탐색 404 🔴 높음 코드 정상 확인 (배포 재빌드로 해결)
ISSUE-3 헤더 제목 "대시보드" 고정 버그 🟠 중간 new-header.tsx pageTitles 추가
ISSUE-4 대시보드 파이 차트 미렌더링 🟠 중간 DonutChart Legend 분리 수정
ISSUE-5 daily_snapshots 건수 0 🟡 낮음 PriceService ETFPrice fallback 추가

ISSUE-1 운영 조치 (서버에서 직접 실행)

-- 좀비 ETFPriceCollector 레코드 강제 종료
UPDATE job_logs
SET status = 'failed', finished_at = NOW(),
    error_msg = 'Manually killed: stuck for 24h+'
WHERE job_name = 'ETFPriceCollector' AND status = 'running';

또는 새 API: POST /api/admin/collect/reset-stuck

이후 데이터 수집 페이지에서 각 collector 수동 실행.