|
|
||
|---|---|---|
| __pycache__ | ||
| jobs | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| README.md | ||
| config.py | ||
| db.py | ||
| main.py | ||
| pyproject.toml | ||
README.md
o2o-ado2-scheduler
SNS 예약 업로드 스케줄러. 주기적으로 DB를 조회하여 예약 시간이 된 업로드 작업을 백엔드 내부 API로 트리거합니다.
실행
로컬
pip install uv
uv pip install -e .
python main.py
Docker 단독 실행
docker build -t o2o-ado2-scheduler .
docker run --env-file .env o2o-ado2-scheduler
Docker Compose (백엔드와 같은 네트워크)
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을 복사하여 사용합니다.
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 |