docs: 불필요한 구현 문서 삭제

This commit is contained in:
happybell80 2026-01-17 10:32:34 +09:00
parent 3e5c4308f9
commit 6362bc13c6

View File

@ -1,120 +0,0 @@
# 배당 귀족주 자동 수집 로빙 통합 구현
**날짜**: 2026-01-17
**작성자**: Agent
**관련 파일**: `rb8001/app/services/dividend/dividend_collector_service.py`, `rb8001/app/scheduler/jobs/dividend_collector.py`, `rb8001/app/scheduler/db_loader.py`
**참고 문서**: `plans/260116_배당_귀족주_자동_수집_로빙_통합_계획.md`
---
## 테스트 시나리오 (TDD Red)
### 시나리오 1: 스케줄러 작업 생성 및 실행
**기대 동작**:
1. `_run_dividend_collector_with_logging()` 함수 호출 시 `collect_all_dividends()` 서비스 실행
2. 로깅: 시작/완료/에러 기록
3. Supabase 데이터 저장 확인: `dividend_history` 테이블에 최신 배당 데이터 저장
**검증 항목**:
- 함수 실행 성공 (에러 없음)
- 로그에 시작/완료 메시지 기록
- DB에 최신 배당 데이터 저장 (오늘 날짜 기준)
### 시나리오 2: DB 스케줄 등록 및 자동 로드
**기대 동작**:
1. `scheduled_jobs` 테이블에 `dividend_collector` 레코드 추가
2. `JOB_TYPE_MAP`에 매핑 추가
3. rb8001 서버 재시작 후 스케줄 자동 로드 확인
**검증 항목**:
- `scheduled_jobs` 테이블에 레코드 존재
- `JOB_TYPE_MAP``'dividend_collector'` 키 존재
- 서버 재시작 후 스케줄 등록 확인
### 시나리오 3: 수동 실행 및 자동 실행
**기대 동작**:
1. `POST /api/scheduler/jobs/dividend_collector/run` 엔드포인트로 수동 실행
2. 매주 일요일 새벽 3시 자동 실행 (cron 표현식)
**검증 항목**:
- API 엔드포인트로 수동 실행 성공
- 로그에서 실행 결과 확인
- DB에 최신 데이터 저장 확인
---
## 구현 가이드
### Phase 1: 서비스 및 스케줄러 작업 생성
**1-1. 서비스 생성**: `rb8001/app/services/dividend/dividend_collector_service.py`
```python
async def collect_all_dividends() -> None:
"""배당 귀족주 전체 데이터 수집"""
# collect_dividends.py의 메인 로직을 서비스로 이동하거나 import
# 로깅 포함
pass
```
**1-2. 스케줄러 작업 생성**: `rb8001/app/scheduler/jobs/dividend_collector.py`
```python
def _run_dividend_collector_with_logging() -> None:
"""배당 귀족주 수집 스케줄러 작업 (sync 래퍼)"""
# asyncio.run()으로 서비스 함수 실행
# 로깅 포함
pass
```
**참고 파일**:
- `rb8001/app/scheduler/jobs/diary_generator.py`: 기존 패턴 참고
- `goosefarminvesting/backend/scripts/collect_dividends.py`: 수집 로직 참고
### Phase 2: DB 스케줄 등록
**2-1. `scheduled_jobs` 테이블에 레코드 추가**
```sql
INSERT INTO scheduled_jobs (name, job_type, cron_expression, enabled, config)
VALUES ('dividend_collector', 'dividend_collector', '0 3 * * 0', true, '{}');
```
**2-2. `rb8001/app/scheduler/db_loader.py``JOB_TYPE_MAP`에 매핑 추가**
```python
JOB_TYPE_MAP = {
# ... 기존 매핑 ...
"dividend_collector": {
"func": "_run_dividend_collector_with_logging",
"module": "app.scheduler.jobs.dividend_collector"
}
}
```
### Phase 3: 테스트 및 검증
**3-1. 서버 재시작 후 스케줄 로드 확인**
**3-2. API 엔드포인트로 수동 실행 테스트**
**3-3. DB 데이터 확인**
---
## 파일 참조
- `rb8001/app/scheduler/jobs/diary_generator.py`: 스케줄러 작업 예시
- `rb8001/app/scheduler/db_loader.py`: `JOB_TYPE_MAP` 구조
- `goosefarminvesting/backend/scripts/collect_dividends.py`: 수집 로직
- `DOCS/journey/plans/260116_배당_귀족주_자동_수집_로빙_통합_계획.md`: 전체 계획
---
## 다음 단계
1. Phase 1 구현: 서비스 및 스케줄러 작업 생성
2. Phase 2 구현: DB 스케줄 등록
3. Phase 3 실행: 테스트 및 검증