Commit 7693ba87 authored by takatost's avatar takatost

optimize db connections

parent 3d6b0669
......@@ -95,12 +95,6 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
extras=extras
)
workflow = db.session.query(Workflow).filter(Workflow.id == workflow.id).first()
user = (db.session.query(Account).filter(Account.id == user.id).first()
if isinstance(user, Account)
else db.session.query(EndUser).filter(EndUser.id == user.id).first())
db.session.close()
# init generate records
(
conversation,
......@@ -206,7 +200,6 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
:return:
"""
# init generate task pipeline
generate_task_pipeline = AdvancedChatAppGenerateTaskPipeline(
application_generate_entity=application_generate_entity,
workflow=workflow,
......
......@@ -122,13 +122,15 @@ class AdvancedChatAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
self._output_moderation_handler = self._init_output_moderation()
self._stream = stream
db.session.close()
def process(self) -> Union[dict, Generator]:
"""
Process generate task pipeline.
:return:
"""
db.session.refresh(self._workflow)
db.session.refresh(self._user)
db.session.close()
if self._stream:
return self._process_stream_response()
else:
......
......@@ -176,9 +176,7 @@ class MessageBasedAppGenerator(BaseAppGenerator):
db.session.add(conversation)
db.session.commit()
conversation = db.session.query(Conversation).filter(Conversation.id == conversation.id).first()
db.session.close()
db.session.refresh(conversation)
message = Message(
app_id=app_config.app_id,
......@@ -206,9 +204,7 @@ class MessageBasedAppGenerator(BaseAppGenerator):
db.session.add(message)
db.session.commit()
message = db.session.query(Message).filter(Message.id == message.id).first()
db.session.close()
db.session.refresh(message)
for file in application_generate_entity.files:
message_file = MessageFile(
......@@ -224,8 +220,6 @@ class MessageBasedAppGenerator(BaseAppGenerator):
db.session.add(message_file)
db.session.commit()
db.session.close()
return conversation, message
def _get_conversation_introduction(self, application_generate_entity: AppGenerateEntity) -> str:
......
......@@ -99,13 +99,15 @@ class WorkflowAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
self._output_moderation_handler = self._init_output_moderation()
self._stream = stream
db.session.close()
def process(self) -> Union[dict, Generator]:
"""
Process generate task pipeline.
:return:
"""
db.session.refresh(self._workflow)
db.session.refresh(self._user)
db.session.close()
if self._stream:
return self._process_stream_response()
else:
......
......@@ -60,8 +60,7 @@ class WorkflowBasedGenerateTaskPipeline:
db.session.add(workflow_run)
db.session.commit()
workflow_run = db.session.query(WorkflowRun).filter(WorkflowRun.id == workflow_run.id).first()
db.session.refresh(workflow_run)
db.session.close()
return workflow_run
......@@ -155,9 +154,7 @@ class WorkflowBasedGenerateTaskPipeline:
db.session.add(workflow_node_execution)
db.session.commit()
workflow_node_execution = (db.session.query(WorkflowNodeExecution)
.filter(WorkflowNodeExecution.id == workflow_node_execution.id).first())
db.session.refresh(workflow_node_execution)
db.session.close()
return workflow_node_execution
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment