- Add multi-threaded keyword scheduler for periodic news collection - Create Keyword Manager API for CRUD operations and monitoring - Implement automatic pipeline triggering (RSS → Google → AI → Translation) - Add thread status monitoring and dynamic keyword management - Support priority-based execution and configurable intervals - Add comprehensive scheduler documentation guide - Default keywords: AI, 테크놀로지, 경제, 블록체인 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
85 lines
2.2 KiB
YAML
85 lines
2.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# 키워드별 전용 스케줄러 (AI 키워드)
|
|
pipeline-scheduler-ai:
|
|
build:
|
|
context: ./services/pipeline
|
|
dockerfile: scheduler/Dockerfile
|
|
container_name: ${COMPOSE_PROJECT_NAME}_scheduler_ai
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- mongodb
|
|
- pipeline-rss-collector
|
|
environment:
|
|
- REDIS_URL=redis://redis:6379
|
|
- MONGODB_URL=mongodb://mongodb:27017
|
|
- DB_NAME=ai_writer_db
|
|
- KEYWORD=AI
|
|
- INTERVAL_MINUTES=60
|
|
- PRIORITY=1
|
|
- MAX_ARTICLES=100
|
|
- LOG_LEVEL=INFO
|
|
command: python single_keyword_scheduler.py
|
|
volumes:
|
|
- ./services/pipeline/shared:/app/shared:ro
|
|
networks:
|
|
- site11_network
|
|
|
|
# 키워드별 전용 스케줄러 (경제 키워드)
|
|
pipeline-scheduler-economy:
|
|
build:
|
|
context: ./services/pipeline
|
|
dockerfile: scheduler/Dockerfile
|
|
container_name: ${COMPOSE_PROJECT_NAME}_scheduler_economy
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- mongodb
|
|
- pipeline-rss-collector
|
|
environment:
|
|
- REDIS_URL=redis://redis:6379
|
|
- MONGODB_URL=mongodb://mongodb:27017
|
|
- DB_NAME=ai_writer_db
|
|
- KEYWORD=경제
|
|
- INTERVAL_MINUTES=120
|
|
- PRIORITY=0
|
|
- MAX_ARTICLES=100
|
|
- LOG_LEVEL=INFO
|
|
command: python single_keyword_scheduler.py
|
|
volumes:
|
|
- ./services/pipeline/shared:/app/shared:ro
|
|
networks:
|
|
- site11_network
|
|
|
|
# 키워드별 전용 스케줄러 (테크놀로지 키워드)
|
|
pipeline-scheduler-tech:
|
|
build:
|
|
context: ./services/pipeline
|
|
dockerfile: scheduler/Dockerfile
|
|
container_name: ${COMPOSE_PROJECT_NAME}_scheduler_tech
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- mongodb
|
|
- pipeline-rss-collector
|
|
environment:
|
|
- REDIS_URL=redis://redis:6379
|
|
- MONGODB_URL=mongodb://mongodb:27017
|
|
- DB_NAME=ai_writer_db
|
|
- KEYWORD=테크놀로지
|
|
- INTERVAL_MINUTES=60
|
|
- PRIORITY=1
|
|
- MAX_ARTICLES=100
|
|
- LOG_LEVEL=INFO
|
|
command: python single_keyword_scheduler.py
|
|
volumes:
|
|
- ./services/pipeline/shared:/app/shared:ro
|
|
networks:
|
|
- site11_network
|
|
|
|
networks:
|
|
site11_network:
|
|
external: true
|
|
name: site11_network |