from apscheduler.schedulers.background import BackgroundScheduler import import_elgoose from sqlmodel import Session from database import engine import logging logger = logging.getLogger(__name__) scheduler = BackgroundScheduler() def daily_import_job(): logger.info("Starting daily Goose data import...") try: with Session(engine) as session: stats = import_elgoose.run_import(session, with_users=False) logger.info(f"Daily import complete. Stats: {stats}") except Exception as e: logger.error(f"Daily import failed: {e}") def start_scheduler(): scheduler.add_job(daily_import_job, 'interval', hours=12, id='goose_import') scheduler.start() logger.info("Scheduler started with daily import job.")