# o2o-ado2-scheduler SNS 예약 업로드 스케줄러. 주기적으로 DB를 조회하여 예약 시간이 된 업로드 작업을 백엔드 내부 API로 트리거합니다. --- ## 실행 ### 로컬 ```bash pip install uv uv pip install -e . python main.py ``` ### Docker 단독 실행 ```bash docker build -t o2o-ado2-scheduler . docker run --env-file .env o2o-ado2-scheduler ``` ### Docker Compose (백엔드와 같은 네트워크) ```yaml scheduler: build: . env_file: .env networks: - backend-network restart: unless-stopped ``` > Docker Compose로 실행할 경우 `BACKEND_INTERNAL_URL`은 컨테이너 서비스명으로 설정합니다. > 예: `BACKEND_INTERNAL_URL=http://castad-app:8000` --- ## 환경변수 (.env) `.env.example`을 복사하여 사용합니다. ```bash cp .env.example .env ``` | 변수 | 설명 | 예시 | |------|------|------| | `BACKEND_INTERNAL_URL` | 백엔드 서버 URL | `http://localhost:8000` (로컬) / `http://castad-app:8000` (Docker) | | `INTERNAL_SECRET_KEY` | 내부 API 인증 키 (백엔드와 동일하게 설정) | `your-secret-key` | | `MYSQL_HOST` | MySQL 호스트 | `localhost` (로컬) / `mysql` (Docker) | | `MYSQL_PORT` | MySQL 포트 | `3306` | | `MYSQL_USER` | MySQL 유저 | `root` | | `MYSQL_PASSWORD` | MySQL 비밀번호 | `1234` | | `MYSQL_DB` | MySQL 데이터베이스명 | `castad_test1` | | `CHECK_INTERVAL_MINUTES` | 예약 업로드 체크 주기 (분) | `10` |