# core/scheduler.py

from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.cron import CronTrigger
from pytz import timezone
import atexit

scheduler = BackgroundScheduler(timezone=timezone('Asia/Kolkata'))

def your_task():
    print("🕙 Task running at 10 PM")

def start():
    job_exists = any(job.name == "daily_10pm_job" for job in scheduler.get_jobs())
    if not job_exists:
        scheduler.add_job(
            your_task,
            trigger=CronTrigger(hour=21, minute=52),
            name="daily_10pm_job",
            replace_existing=True
        )
        scheduler.start()
        print("✅ Scheduler started")

        # Ensure it shuts down gracefully
        atexit.register(lambda: scheduler.shutdown())
