พัฒนา Celery Worker & Flower

This commit is contained in:
Flook 2025-11-15 23:21:20 +07:00
parent e67c3a75a1
commit 1a1560f3e8

View File

@ -52,18 +52,48 @@ services:
- "6379:6379" - "6379:6379"
restart: always restart: always
# Celery Flower Monitoring Service
flower:
build:
context: ../backend
dockerfile: Dockerfile.celery
container_name: celery_flower
ports:
- "5555:5555"
environment:
CELERY_BROKER_URL: redis://redis:6379/0
CELERY_APP: core
volumes:
- ../backend:/app
working_dir: /app
depends_on:
- redis
- celery_worker
command: celery -A core flower --port=5555
restart: always
# Celery Worker Service # Celery Worker Service
celery_worker: celery_worker:
build: build:
context: ../backend context: ../backend
dockerfile: Dockerfile dockerfile: Dockerfile.celery
container_name: celery_worker container_name: celery_worker
volumes: volumes:
- ../backend:/app - ../backend:/app
command: celery -A cremation_backend worker -l info # รัน worker process command: celery -A core worker -l info # รัน worker process
depends_on: depends_on:
- redis # Worker ต้องรอให้ Redis พร้อม - redis # Worker ต้องรอให้ Redis พร้อม
- cockroach-1 # Worker อาจจะต้องเข้าถึง DB ด้วย - cockroach-1 # Worker อาจจะต้องเข้าถึง DB ด้วย
# Environment Variables สำหรับการส่งอีเมล
environment:
MAILJET_SMTP_HOST: ${MAILJET_SMTP_HOST}
MAILJET_SMTP_PORT: ${MAILJET_SMTP_PORT}
MAILJET_API_KEY: ${MAILJET_API_KEY}
MAILJET_SECRET_KEY: ${MAILJET_SECRET_KEY}
DEFAULT_FROM_EMAIL: ${DEFAULT_FROM_EMAIL}
# กำหนด HOST/PORT DB/Redis ซ้ำอีกครั้ง (เป็น Best Practice)
REDIS_HOST: redis
DB_HOST: cockroach-1
# Backend/API (DRF) # Backend/API (DRF)
backend: backend: