|
|
@@ -1,5 +1,9 @@
|
|
|
+from datetime import datetime
|
|
|
+from zoneinfo import ZoneInfo
|
|
|
+
|
|
|
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
|
|
from apscheduler.triggers.cron import CronTrigger
|
|
|
+from apscheduler.triggers.date import DateTrigger
|
|
|
from apscheduler.triggers.interval import IntervalTrigger
|
|
|
|
|
|
from app.core.config import settings
|
|
|
@@ -56,6 +60,18 @@ def start_scheduler() -> None:
|
|
|
return
|
|
|
setup_jobs()
|
|
|
scheduler.start()
|
|
|
+ if settings.demand_pool_hourly_sync_enabled:
|
|
|
+ scheduler.add_job(
|
|
|
+ demand_pool_today_incremental_sync_job,
|
|
|
+ trigger=DateTrigger(
|
|
|
+ run_date=datetime.now(ZoneInfo(_CRON_TZ)),
|
|
|
+ timezone=_CRON_TZ,
|
|
|
+ ),
|
|
|
+ id="demand_pool_startup_sync_job",
|
|
|
+ replace_existing=True,
|
|
|
+ max_instances=1,
|
|
|
+ coalesce=True,
|
|
|
+ )
|
|
|
|
|
|
|
|
|
def shutdown_scheduler() -> None:
|