"""Celery application setup.""" from celery import Celery from celery.schedules import crontab from app.core.config import settings celery_app = Celery( "dreamweaver", broker=settings.celery_broker_url, backend=settings.celery_result_backend, ) celery_app.conf.update( task_track_started=True, task_serializer="json", accept_content=["json"], result_serializer="json", timezone="Asia/Shanghai", enable_utc=True, beat_schedule={ "check_push_notifications": { "task": "app.tasks.push_notifications.check_push_notifications", "schedule": crontab(minute="*/15"), }, "prune_expired_memories": { "task": "app.tasks.memory.prune_memories_task", "schedule": crontab(minute="0", hour="3"), # Daily at 03:00 }, }, ) celery_app.autodiscover_tasks(["app.tasks"])