完成视频复刻和优化
This commit is contained in:
@@ -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,可达 1–2 分钟)在 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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user