solorpower/crawler/DEVELOPMENT.md
haneulai f2bb131884
Some checks are pending
CI / Crawler (Python ${{ matrix.python-version }}) (3.10) (push) Waiting to run
CI / Crawler (Python ${{ matrix.python-version }}) (3.11) (push) Waiting to run
CI / API (Python 3.11) (push) Waiting to run
CI / Database migration (push) Waiting to run
CI / App web build (Node 20) (push) Waiting to run
refactor: complete repository structure cleanup
2026-08-07 15:30:44 +09:00

1.7 KiB

윈도우 개발 환경 가이드

1. 개요

이 프로젝트는 Windows와 NAS(리눅스) 환경 모두에서 동작하도록 구성되어 있습니다. NAS 배포 전 Windows 환경에서 테스트 및 데이터 복구를 수행할 수 있습니다.

2. 가상환경 (Windows)

가상환경은 저장소에 포함하지 않고 개발 PC마다 .venv로 생성합니다. 고정 의존성은 requirements.txt를 사용합니다.

python -m venv .venv
.\.venv\Scripts\python -m pip install -r requirements.txt
.\.venv\Scripts\python -m unittest discover -s tests -p "test_*.py" -v

3. 개발 도구 (tools 폴더)

tools/ 폴더에는 데이터 검증 및 복구를 위한 유틸리티 스크립트가 포함되어 있습니다.

3.1 DB 데이터 조회 (check_db.py)

특정 시간대의 Supabase 데이터가 정상적으로 저장되었는지 확인합니다.

  • UTC 기준으로 조회하므로 KST 변환에 유의하세요.
  • 사용법:
    python tools/check_db.py
    

3.2 로그 기반 데이터 복구 (recover_from_log.py)

cron.log 등의 로그 파일을 파싱하여 누락된 데이터를 DB에 다시 채워넣습니다.

  • clean_recover.py 기능을 개선하여 포함했습니다.
  • 사용법:
    python tools/recover_from_log.py
    

4. 실행

메인 크롤러 실행:

.\.venv\Scripts\python main.py

GUI 대시보드 실행 (테스트용):

.\.venv\Scripts\python crawler_gui.py

5. 배포 시 주의사항

  • crawler_manager.pycrawler_manager.db는 런타임에 생성되며 Git에서 제외합니다. 운영 상태 DB를 배포 파일로 덮어쓰지 마세요.
  • .env 파일의 API 키가 만료되지 않았는지 확인하세요.