xueyiming 1 هفته پیش
والد
کامیت
0cb65d9022
3فایلهای تغییر یافته به همراه21 افزوده شده و 7 حذف شده
  1. 1 1
      .env.example
  2. 3 1
      Dockerfile
  3. 17 5
      supply_infra/scheduler/app.py

+ 1 - 1
.env.example

@@ -35,7 +35,7 @@ ODPS_ACCESS_KEY=
 ODPS_PROJECT=
 ODPS_ENDPOINT=https://service.cn.maxcompute.aliyun.com/api
 
-# Scheduler
+# Scheduler(供给流水线每天 14:00 Asia/Shanghai 触发)
 SCHEDULER_ENABLED=true
 SCHEDULER_TIMEZONE=Asia/Shanghai
 # Aliyun OSS (agent 运行日志可视化上传;qwen 视频截断后片段也上传到此 bucket)

+ 3 - 1
Dockerfile

@@ -23,7 +23,9 @@ WORKDIR /app
 ENV PYTHONUNBUFFERED=1 \
     PYTHONDONTWRITEBYTECODE=1 \
     PIP_NO_CACHE_DIR=1 \
-    PIP_DISABLE_PIP_VERSION_CHECK=1
+    PIP_DISABLE_PIP_VERSION_CHECK=1 \
+    TZ=Asia/Shanghai \
+    SCHEDULER_TIMEZONE=Asia/Shanghai
 
 RUN sed -i 's|deb.debian.org|mirrors.aliyun.com|g; s|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources 2>/dev/null || \
     sed -i 's|deb.debian.org|mirrors.aliyun.com|g; s|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list 2>/dev/null || true

+ 17 - 5
supply_infra/scheduler/app.py

@@ -19,18 +19,24 @@ logger = logging.getLogger(__name__)
 
 _scheduler: BackgroundScheduler | None = None
 
-_PIPELINE_CRON_HOUR = 12
+_PIPELINE_CRON_HOUR = 14
+_PIPELINE_CRON_MINUTE = 0
 
 
 def create_scheduler() -> BackgroundScheduler:
     """Create and configure the scheduler with the chained supply pipeline job."""
     settings = get_infra_settings()
-    scheduler = BackgroundScheduler(timezone=settings.scheduler_timezone)
+    tz = settings.scheduler_timezone
+    scheduler = BackgroundScheduler(timezone=tz)
 
-    # 每天 12:00 串行执行:全局树 → 需求池 → 分级
+    # 每天 14:00(上海时区)串行执行:全局树 → 需求池 → 分级 → 视频点位拓展
     scheduler.add_job(
         run_supply_pipeline,
-        trigger=CronTrigger(hour=_PIPELINE_CRON_HOUR, minute=0),
+        trigger=CronTrigger(
+            hour=_PIPELINE_CRON_HOUR,
+            minute=_PIPELINE_CRON_MINUTE,
+            timezone=tz,
+        ),
         id=SUPPLY_PIPELINE_JOB_ID,
         name=SUPPLY_PIPELINE_JOB_NAME,
         replace_existing=True,
@@ -39,7 +45,13 @@ def create_scheduler() -> BackgroundScheduler:
         misfire_grace_time=3600,
     )
 
-    logger.info("Scheduler configured with %d job(s)", len(scheduler.get_jobs()))
+    logger.info(
+        "Scheduler configured with %d job(s) | timezone=%s | pipeline_cron=%02d:%02d",
+        len(scheduler.get_jobs()),
+        tz,
+        _PIPELINE_CRON_HOUR,
+        _PIPELINE_CRON_MINUTE,
+    )
     return scheduler