import os
from celery import Celery

# กำหนดค่า Django settings module ให้ Celery
# 'core.settings' คือ path ของ settings.py ของโปรเจกต์ Django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')

# สร้าง Celery application instance
app = Celery('core') # ชื่อตรงนี้ต้องตรงกับ -A core และ CELERY_APP: core

# โหลด configuration จากไฟล์ settings.py ของ Django
# โดย Celery จะใช้ prefix CELERY_ (เช่น CELERY_BROKER_URL)
app.config_from_object('django.conf:settings', namespace='CELERY')

# ค้นหา tasks ทั้งหมดใน INSTALLED_APPS ของ Django โดยอัตโนมัติ
app.autodiscover_tasks()