diff --git a/apps/worker/worker_app/tasks/viral_video.py b/apps/worker/worker_app/tasks/viral_video.py index e9fed1e2c..a904e0fd3 100755 --- a/apps/worker/worker_app/tasks/viral_video.py +++ b/apps/worker/worker_app/tasks/viral_video.py @@ -19,9 +19,9 @@ from __future__ import annotations import logging import os -from celery import Task +from celery import Task, shared_task from celery.exceptions import Retry -from worker_app.celery_app import celery_app +from worker_app.celery_app import celery_app # noqa: F401 - 加载 app 以注册任务 from worker_app.db import SessionLocal from packages.adapters.sqlalchemy_impl.viral_video_repository import ( @@ -379,7 +379,7 @@ def _step_upload(job: ViralVideoJob, video_path: str) -> str: # ── 主编排器 ──────────────────────────────────────────────────────────── -@celery_app.task(bind=True, max_retries=2, name="worker.run_viral_video_pipeline") +@shared_task(bind=True, max_retries=2, name="worker.run_viral_video_pipeline") def run_viral_video_pipeline(self: Task, job_id: str) -> dict: """爆款视频 10 步流水线编排器。""" session = None @@ -452,7 +452,7 @@ def run_viral_video_pipeline(self: Task, job_id: str) -> dict: session.close() -@celery_app.task(bind=True, max_retries=2, name="worker.resume_viral_video_pipeline") +@shared_task(bind=True, max_retries=2, name="worker.resume_viral_video_pipeline") def resume_viral_video_pipeline(self: Task, job_id: str) -> dict: """用户确认意图后,从断点恢复流水线(步骤 3-10)。""" session = None @@ -539,7 +539,7 @@ def resume_viral_video_pipeline(self: Task, job_id: str) -> dict: session.close() -@celery_app.task(bind=True, max_retries=1, name="worker.run_video_style_analysis") +@shared_task(bind=True, max_retries=1, name="worker.run_video_style_analysis") def run_video_style_analysis(self: Task, job_id: str) -> dict: """独立的视频风格分析任务(v1.3)。""" session = None