feat: 각 모듈 개별 테스트 실행 가능하도록 수정 및 docker compose 최신 버전 형식 적용
This commit is contained in:
@ -424,3 +424,35 @@ class AirQualityCollector:
|
||||
|
||||
logger.info(f"대기질 데이터 수집 완료: 총 {total_saved}건 저장")
|
||||
return total_saved
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
"""
|
||||
대기질 데이터 수집 서비스 모듈 테스트
|
||||
|
||||
사용법:
|
||||
python services/analytics/air_quality.py
|
||||
"""
|
||||
logger.info("=== 대기질 데이터 수집 서비스 모듈 테스트 ===")
|
||||
|
||||
try:
|
||||
config = get_config()
|
||||
service_key = config.data_api['service_key'] or "TEST_KEY"
|
||||
|
||||
logger.info(f"설정 로드 완료")
|
||||
logger.info(f"- 서비스 키: {service_key[:10] if service_key else 'NOT SET'}***")
|
||||
|
||||
logger.info("\n제공 기능:")
|
||||
logger.info("- get_air_quality: 대기질 데이터 조회")
|
||||
logger.info("- AirQualityCollector: 자동 데이터 수집 및 DB 저장")
|
||||
|
||||
logger.info("\n측정 항목:")
|
||||
logger.info("- PM2.5: 초미세먼지")
|
||||
logger.info("- PM10: 미세먼지")
|
||||
logger.info("- SO2, CO, NO2, O3: 기타 오염물질")
|
||||
|
||||
logger.info("\n✓ 대기질 데이터 수집 서비스 모듈 테스트 완료")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"대기질 모듈 테스트 실패: {e}")
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
@ -399,3 +399,36 @@ class GA4DataCollector:
|
||||
|
||||
logger.info(f"GA4 데이터 수집 완료: 총 {total_saved}건 저장")
|
||||
return total_saved
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
"""
|
||||
Google Analytics 4 데이터 수집 서비스 모듈 테스트
|
||||
|
||||
사용법:
|
||||
python services/analytics/ga4.py
|
||||
"""
|
||||
logger.info("=== Google Analytics 4 데이터 수집 서비스 모듈 테스트 ===")
|
||||
|
||||
try:
|
||||
config = get_config()
|
||||
|
||||
logger.info(f"설정 로드 완료")
|
||||
|
||||
logger.info("\n제공 기능:")
|
||||
logger.info("- GA4Client: GA4 API 클라이언트")
|
||||
logger.info("- GA4DataCollector: 자동 데이터 수집 및 DB 저장")
|
||||
|
||||
logger.info("\n수집 가능 메트릭:")
|
||||
logger.info("- 일별 세션 수")
|
||||
logger.info("- 일별 사용자 수")
|
||||
logger.info("- 이벤트 수")
|
||||
logger.info("- 이탈률")
|
||||
|
||||
logger.info("\n병렬 처리를 통한 성능 최적화 지원")
|
||||
|
||||
logger.info("\n✓ GA4 데이터 수집 서비스 모듈 테스트 완료")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"GA4 모듈 테스트 실패: {e}")
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
@ -298,3 +298,41 @@ class VisitorForecaster:
|
||||
}
|
||||
|
||||
return analysis
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
"""
|
||||
방문객 예측 서비스 모듈 테스트
|
||||
|
||||
사용법:
|
||||
python services/analytics/visitor_forecast.py
|
||||
"""
|
||||
logger.info("=== 방문객 예측 서비스 모듈 테스트 ===")
|
||||
|
||||
try:
|
||||
config = get_config()
|
||||
|
||||
logger.info(f"설정 로드 완료")
|
||||
|
||||
# 예측기 초기화
|
||||
forecaster = VisitorForecaster(config)
|
||||
logger.info("\nVisitorForecaster 초기화 완료")
|
||||
|
||||
logger.info("\n제공 기능:")
|
||||
logger.info("- predict_daily: 일별 방문객 수 예측")
|
||||
logger.info("- predict_weekly: 주별 방문객 수 예측")
|
||||
logger.info("- analyze_weather_impact: 날씨 영향도 분석")
|
||||
logger.info("- calculate_holiday_impact: 휴일 영향도 계산")
|
||||
|
||||
logger.info("\n예측 요인:")
|
||||
logger.info("- 날씨 (기온, 강수량, 습도)")
|
||||
logger.info("- 휴일 여부")
|
||||
logger.info("- 주말 여부")
|
||||
logger.info("- 과거 방문 패턴")
|
||||
|
||||
logger.info("\n✓ 방문객 예측 서비스 모듈 테스트 완료")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"방문객 예측 모듈 테스트 실패: {e}")
|
||||
import traceback
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
Reference in New Issue
Block a user