tingwu_new
All checks were successful
Deploy to Server / deploy (push) Successful in 19s

This commit is contained in:
jeremygan2021
2026-03-11 21:45:28 +08:00
parent f14d52f69b
commit 373a82151f
2 changed files with 24 additions and 3 deletions

View File

@@ -297,15 +297,35 @@ class AliyunTingwuService:
# 调用大模型生成总结 (如果 summary_data 或 auto_chapters_data 存在)
if task.summary_data or task.auto_chapters_data:
try:
# 设置占位状态
task.summary = "AI总结生成当中..."
task.save(update_fields=['summary'])
# 异步执行总结
import threading
from .bailian_service import BailianService
bailian_service = BailianService()
bailian_service.summarize_task(task)
def async_summarize_in_service(task_id):
try:
# 重新获取 task 以避免线程安全问题
from .models import TranscriptionTask
t = TranscriptionTask.objects.get(id=task_id)
bailian_service = BailianService()
bailian_service.summarize_task(t)
except Exception as e:
logger.error(f"Async summary generation failed in service: {e}")
threading.Thread(target=async_summarize_in_service, args=(task.id,)).start()
logger.info(f"Triggered async summary generation for task {task.id}")
except Exception as e:
logger.error(f"Failed to trigger AI summarization: {e}")
# 4. 自动触发 AI 评估 (如果任务首次成功且有启用的模板)
if previous_status != 'SUCCEEDED' and task.status == 'SUCCEEDED' and task.transcription:
self.trigger_ai_evaluations(task)
# 同样改为异步触发
import threading
threading.Thread(target=self.trigger_ai_evaluations, args=(task,)).start()
def trigger_ai_evaluations(self, task):
"""

View File

@@ -284,6 +284,7 @@ class TranscriptionTaskViewSet(viewsets.ModelViewSet):
# 如果任务成功但 AI 总结仍为空 (可能之前解析没触发,或者大模型调用失败)
# 再次尝试强制触发 summarize_task (如果原始数据存在)
# 注意service.parse_and_update_task 内部已经尝试异步触发,这里作为补救措施
if task.status == TranscriptionTask.Status.SUCCEEDED and not task.summary:
if task.summary_data or task.auto_chapters_data:
try: