# celery_config.py
from celery.schedules import crontab

# This file is now only for configuration. The Celery app object is defined in celery_app.py.

broker_url = 'redis://127.0.0.1:6379/0'
result_backend = 'redis://127.0.0.1:6379/0'

imports = (
    'keepa_deals.Keepa_Deals',
    'keepa_deals.tasks',
    'keepa_deals.smart_ingestor',
    'keepa_deals.recalculator',
    'keepa_deals.sp_api_tasks',
    'keepa_deals.env_diag',
    'keepa_deals.diag_task',
    'keepa_deals.janitor',
    'keepa_deals.maintenance_tasks',
    'keepa_deals.inventory_import'
)

beat_schedule_filename = 'celerybeat-schedule'
worker_log_file = 'celery_worker.log'
worker_log_level = 'INFO'
task_serializer = 'json'
result_serializer = 'json'
accept_content = ['json']

beat_schedule = {
    'smart-ingestor-run': {
        'task': 'keepa_deals.smart_ingestor.run',
        'schedule': crontab(minute='*'),
    },
    'janitor-clean-stale-deals': {
        'task': 'keepa_deals.janitor.clean_stale_deals',
        'schedule': crontab(minute=0, hour='*/4'),
        'kwargs': {'grace_period_hours': 72},
    },
}
