总结优化
This commit is contained in:
@@ -53,6 +53,17 @@ def send_message_in_thread(func, *args, **kwargs):
|
||||
message_thread_pool.submit(run)
|
||||
|
||||
|
||||
def run_member_context_refresh_in_thread(func, *args, **kwargs):
|
||||
"""在线程池中异步刷新成员交互摘要,避免阻塞请求线程"""
|
||||
def run():
|
||||
try:
|
||||
func(*args, **kwargs)
|
||||
except Exception as e:
|
||||
logger.error(f"成员交互摘要后台刷新失败: {e}")
|
||||
|
||||
message_thread_pool.submit(run)
|
||||
|
||||
|
||||
# 联系人管理页面
|
||||
@contacts_bp.route('/')
|
||||
@login_required
|
||||
@@ -272,17 +283,17 @@ def api_refresh_group_member_context():
|
||||
if roomid and wxid:
|
||||
if not server.member_context_service.is_group_enabled(roomid):
|
||||
return jsonify({"success": False, "error": "该群未启用成员交互摘要功能"}), 403
|
||||
context = server.member_context_service.refresh_member_context(roomid, wxid)
|
||||
return jsonify({"success": True, "data": {"context": context}})
|
||||
run_member_context_refresh_in_thread(server.member_context_service.refresh_member_context, roomid, wxid)
|
||||
return jsonify({"success": True, "message": "成员交互摘要刷新任务已提交"})
|
||||
|
||||
if roomid:
|
||||
if not server.member_context_service.is_group_enabled(roomid):
|
||||
return jsonify({"success": False, "error": "该群未启用成员交互摘要功能"}), 403
|
||||
result = server.member_context_service.refresh_group_contexts(roomid)
|
||||
return jsonify({"success": True, "data": result})
|
||||
run_member_context_refresh_in_thread(server.member_context_service.refresh_group_contexts, roomid)
|
||||
return jsonify({"success": True, "message": "本群成员交互摘要刷新任务已提交"})
|
||||
|
||||
result = server.member_context_service.refresh_all_chatrooms()
|
||||
return jsonify({"success": True, "data": result})
|
||||
run_member_context_refresh_in_thread(server.member_context_service.refresh_all_chatrooms)
|
||||
return jsonify({"success": True, "message": "全量成员交互摘要刷新任务已提交"})
|
||||
except Exception as e:
|
||||
logger.error(f"刷新群成员交互摘要失败: {e}")
|
||||
return jsonify({"success": False, "error": str(e)}), 500
|
||||
|
||||
@@ -462,8 +462,8 @@
|
||||
axios.post('/contacts/api/group_member_context/refresh', { roomid: this.currentGroup.wxid })
|
||||
.then(response => {
|
||||
if (response.data.success) {
|
||||
this.$message.success('本群成员交互摘要已刷新');
|
||||
this.loadGroupMembers(this.currentGroup.wxid);
|
||||
this.$message.success(response.data.message || '本群成员交互摘要刷新任务已提交');
|
||||
setTimeout(() => this.loadGroupMembers(this.currentGroup.wxid), 2500);
|
||||
} else {
|
||||
this.$message.error('刷新本群成员交互摘要失败');
|
||||
}
|
||||
@@ -509,8 +509,8 @@
|
||||
wxid: this.currentContextMember.wxid
|
||||
}).then(response => {
|
||||
if (response.data.success) {
|
||||
this.memberContext = response.data.data.context;
|
||||
this.$message.success('成员交互摘要已刷新');
|
||||
this.$message.success(response.data.message || '成员交互摘要刷新任务已提交');
|
||||
setTimeout(() => this.loadMemberContext(), 2500);
|
||||
} else {
|
||||
this.$message.error('刷新成员交互摘要失败');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user