# app/modules/loyalty/tasks/__init__.py """ Loyalty module Celery tasks. Background tasks for: - Transactional notification emails (enrollment, welcome bonus, reward ready, points expiring/expired) — dispatched on-demand by services - Point expiration (daily at 02:00) - Wallet synchronization (hourly) Task registration is handled by the module definition in definition.py which specifies the task paths and schedules. The imports below must mention every task module that defines a @shared_task — otherwise the celery worker's task-discovery walk imports the package but never sees the decorated function, so calls to .delay() fail with NotRegistered. """ from app.modules.loyalty.tasks.notifications import send_notification_email from app.modules.loyalty.tasks.point_expiration import expire_points from app.modules.loyalty.tasks.wallet_sync import sync_wallet_passes __all__ = [ "expire_points", "send_notification_email", "sync_wallet_passes", ]