完成视频复刻和优化

This commit is contained in:
Azmat@qq.com
2026-08-27 11:54:47 +08:00
parent c25060c6c6
commit 51620bf25b
46 changed files with 2575 additions and 663 deletions
+34
View File
@@ -31,6 +31,16 @@ def extract_entities_task(self, task_id: str) -> str:
return task_id
@app.task(bind=True, max_retries=0)
def run_video_digest_task(self, task_id: str) -> str:
"""视频提炼页的慢活(抽帧 + Gemini,可达 12 分钟)在 worker 内跑,离开页面也不中断。
幂等且失败自退费(见 run_team_digest_task),故 max_retries=0,不向上抛重试。"""
from apps.ai.video_digest import run_team_digest_task
run_team_digest_task(task_id=task_id)
return task_id
@app.task(bind=True, max_retries=0)
def generate_base_asset_task(self, task_id: str) -> str:
"""基础资产(商品/人物/场景立绘)的慢出图在 worker 内跑,Web 层不被占住。
@@ -87,3 +97,27 @@ def poll_free_video_task(self, task_id: str, attempt: int = 0) -> str:
poll_free_video_task.apply_async(args=[task_id, attempt + 1], countdown=30)
return task_id
@app.task(bind=True, max_retries=0)
def drain_asset_reviews_task(self) -> str:
"""全平台人脸审核兜底:未送审自动送火山、审核中自动拉绿/红盾。
自重排(无 celery beat);eager 下不自转,避免单测死循环。"""
from django.conf import settings as dj_settings
from django.core.cache import cache
from apps.assets.review import drain_platform_reviews
if cache.add("asset-review-drain-lock", "1", timeout=50):
try:
drain_platform_reviews()
except Exception: # noqa: BLE001 — 单轮失败不终结循环
import logging
logging.getLogger(__name__).warning("drain_asset_reviews_task failed", exc_info=True)
finally:
cache.delete("asset-review-drain-lock")
if getattr(dj_settings, "CELERY_TASK_ALWAYS_EAGER", False):
return "ok"
drain_asset_reviews_task.apply_async(countdown=45)
return "ok"