58 lines
1.5 KiB
Markdown
58 lines
1.5 KiB
Markdown
# 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` |
|