|
|
@@ -289,8 +289,11 @@ def list_knowledge_bases_proxy():
|
|
|
def import_to_knowledge():
|
|
|
"""将深采数据提交到样本中心入库。"""
|
|
|
import uuid
|
|
|
+ import json
|
|
|
+ from datetime import datetime, timedelta
|
|
|
from app.sample_center_client import SampleCenterClient
|
|
|
- from flask import current_app
|
|
|
+ from app.models import KnowledgeImportTask
|
|
|
+ from flask import current_app, url_for
|
|
|
|
|
|
data = request.json
|
|
|
deep_id = data.get('deep_id')
|
|
|
@@ -323,8 +326,31 @@ def import_to_knowledge():
|
|
|
task_no=task_no,
|
|
|
parents=parents,
|
|
|
children=children,
|
|
|
+ callback_url=url_for('knowledge.knowledge_import_callback', _external=True),
|
|
|
+ )
|
|
|
+
|
|
|
+ # 创建本地入库任务记录,方便在"入库任务"页面查看进度
|
|
|
+ sc_data = result.get('data', {}) if isinstance(result, dict) else {}
|
|
|
+ sample_task_id = sc_data.get('task_id', '')
|
|
|
+
|
|
|
+ task = KnowledgeImportTask(
|
|
|
+ task_no=task_no,
|
|
|
+ sample_task_id=sample_task_id,
|
|
|
+ kb_id=kb_id,
|
|
|
+ kb_name=kb_name,
|
|
|
+ callback_url=url_for('knowledge.knowledge_import_callback', _external=True),
|
|
|
+ status='pending',
|
|
|
+ next_poll_at=datetime.utcnow() + timedelta(seconds=2),
|
|
|
+ created_by=current_user.id,
|
|
|
)
|
|
|
+ db.session.add(task)
|
|
|
+ safe_commit(db.session)
|
|
|
|
|
|
+ result['data'] = {
|
|
|
+ 'task_no': task_no,
|
|
|
+ 'sample_task_id': sample_task_id,
|
|
|
+ 'status': 'pending',
|
|
|
+ }
|
|
|
return jsonify(result)
|
|
|
|
|
|
|