Skip to content

Commit 2b4a606

Browse files
committed
fix: add session rollback after save datasource in chat error
1 parent fb332a7 commit 2b4a606

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

backend/apps/chat/task/llm.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -495,10 +495,16 @@ def select_datasource(self):
495495
_engine_type = self.chat_question.engine
496496
_chat.engine_type = _ds.type_name
497497
# save chat
498-
self.session.add(_chat)
499-
self.session.flush()
500-
self.session.refresh(_chat)
501-
self.session.commit()
498+
with self.session.begin_nested():
499+
# 为了能继续记日志,先单独处理下事务
500+
try:
501+
self.session.add(_chat)
502+
self.session.flush()
503+
self.session.refresh(_chat)
504+
self.session.commit()
505+
except Exception as e:
506+
self.session.rollback()
507+
raise e
502508

503509
elif data['fail']:
504510
raise SingleMessageError(data['fail'])

0 commit comments

Comments
 (0)