优化视频复刻和商品内容大小
This commit is contained in:
@@ -43,8 +43,8 @@ def run_video_digest_task(self, task_id: str) -> str:
|
||||
|
||||
@app.task(bind=True, max_retries=0)
|
||||
def run_video_replace_digest_task(self, task_id: str) -> str:
|
||||
"""商品复刻的第一道工序(参考视频 → 分镜稿,Gemini 半分钟起)在 worker 内跑。
|
||||
失败自己把任务收成 FAILED(见 run_replace_digest),故 max_retries=0,不向上抛重试。"""
|
||||
"""Worker:视频复刻第一道工序(参考视频 → 分镜稿,Gemini 半分钟起)在 worker 内跑。
|
||||
商品和角色共用。失败自己把任务收成 FAILED(见 run_replace_digest),故 max_retries=0,不向上抛重试。"""
|
||||
from apps.ai.models import AITask
|
||||
from apps.ai.video_replace import run_replace_digest
|
||||
|
||||
@@ -97,7 +97,7 @@ def poll_free_video_task(self, task_id: str, attempt: int = 0) -> str:
|
||||
if task is None:
|
||||
return task_id
|
||||
try:
|
||||
if is_video_replace_task(task) and task.status == AITask.Status.CREATED:
|
||||
if is_video_replace_task(task):
|
||||
task = advance_video_replace(task)
|
||||
else:
|
||||
task = finalize_free_video(task=task)
|
||||
@@ -110,9 +110,11 @@ def poll_free_video_task(self, task_id: str, attempt: int = 0) -> str:
|
||||
|
||||
if getattr(dj_settings, "CELERY_TASK_ALWAYS_EAGER", False):
|
||||
return task_id
|
||||
if task.status == AITask.Status.CREATED and attempt < 60:
|
||||
# 复刻逐镜生成可能跑 8 段 × 数分钟,60 次(约 30 分钟)不够,拉到约 90 分钟。
|
||||
poll_limit = 180 if is_video_replace_task(task) else 60
|
||||
if task.status == AITask.Status.CREATED and attempt < poll_limit:
|
||||
poll_free_video_task.apply_async(args=[task_id, attempt + 1], countdown=8 if attempt < 12 else 30)
|
||||
elif task.status in (AITask.Status.SUBMITTED, AITask.Status.POLLING) and attempt < 60:
|
||||
elif task.status in (AITask.Status.SUBMITTED, AITask.Status.POLLING) and attempt < poll_limit:
|
||||
poll_free_video_task.apply_async(args=[task_id, attempt + 1], countdown=30)
|
||||
return task_id
|
||||
|
||||
|
||||
Reference in New Issue
Block a user