Commit 7693ba87 authored by takatost's avatar takatost

optimize db connections

parent 3d6b0669
...@@ -95,12 +95,6 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): ...@@ -95,12 +95,6 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
extras=extras 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 # init generate records
( (
conversation, conversation,
...@@ -206,7 +200,6 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): ...@@ -206,7 +200,6 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
:return: :return:
""" """
# init generate task pipeline # init generate task pipeline
generate_task_pipeline = AdvancedChatAppGenerateTaskPipeline( generate_task_pipeline = AdvancedChatAppGenerateTaskPipeline(
application_generate_entity=application_generate_entity, application_generate_entity=application_generate_entity,
workflow=workflow, workflow=workflow,
......
...@@ -122,13 +122,15 @@ class AdvancedChatAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline): ...@@ -122,13 +122,15 @@ class AdvancedChatAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
self._output_moderation_handler = self._init_output_moderation() self._output_moderation_handler = self._init_output_moderation()
self._stream = stream self._stream = stream
db.session.close()
def process(self) -> Union[dict, Generator]: def process(self) -> Union[dict, Generator]:
""" """
Process generate task pipeline. Process generate task pipeline.
:return: :return:
""" """
db.session.refresh(self._workflow)
db.session.refresh(self._user)
db.session.close()
if self._stream: if self._stream:
return self._process_stream_response() return self._process_stream_response()
else: else:
......
...@@ -176,9 +176,7 @@ class MessageBasedAppGenerator(BaseAppGenerator): ...@@ -176,9 +176,7 @@ class MessageBasedAppGenerator(BaseAppGenerator):
db.session.add(conversation) db.session.add(conversation)
db.session.commit() db.session.commit()
db.session.refresh(conversation)
conversation = db.session.query(Conversation).filter(Conversation.id == conversation.id).first()
db.session.close()
message = Message( message = Message(
app_id=app_config.app_id, app_id=app_config.app_id,
...@@ -206,9 +204,7 @@ class MessageBasedAppGenerator(BaseAppGenerator): ...@@ -206,9 +204,7 @@ class MessageBasedAppGenerator(BaseAppGenerator):
db.session.add(message) db.session.add(message)
db.session.commit() db.session.commit()
db.session.refresh(message)
message = db.session.query(Message).filter(Message.id == message.id).first()
db.session.close()
for file in application_generate_entity.files: for file in application_generate_entity.files:
message_file = MessageFile( message_file = MessageFile(
...@@ -224,8 +220,6 @@ class MessageBasedAppGenerator(BaseAppGenerator): ...@@ -224,8 +220,6 @@ class MessageBasedAppGenerator(BaseAppGenerator):
db.session.add(message_file) db.session.add(message_file)
db.session.commit() db.session.commit()
db.session.close()
return conversation, message return conversation, message
def _get_conversation_introduction(self, application_generate_entity: AppGenerateEntity) -> str: def _get_conversation_introduction(self, application_generate_entity: AppGenerateEntity) -> str:
......
...@@ -99,13 +99,15 @@ class WorkflowAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline): ...@@ -99,13 +99,15 @@ class WorkflowAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
self._output_moderation_handler = self._init_output_moderation() self._output_moderation_handler = self._init_output_moderation()
self._stream = stream self._stream = stream
db.session.close()
def process(self) -> Union[dict, Generator]: def process(self) -> Union[dict, Generator]:
""" """
Process generate task pipeline. Process generate task pipeline.
:return: :return:
""" """
db.session.refresh(self._workflow)
db.session.refresh(self._user)
db.session.close()
if self._stream: if self._stream:
return self._process_stream_response() return self._process_stream_response()
else: else:
......
...@@ -60,8 +60,7 @@ class WorkflowBasedGenerateTaskPipeline: ...@@ -60,8 +60,7 @@ class WorkflowBasedGenerateTaskPipeline:
db.session.add(workflow_run) db.session.add(workflow_run)
db.session.commit() db.session.commit()
db.session.refresh(workflow_run)
workflow_run = db.session.query(WorkflowRun).filter(WorkflowRun.id == workflow_run.id).first()
db.session.close() db.session.close()
return workflow_run return workflow_run
...@@ -155,9 +154,7 @@ class WorkflowBasedGenerateTaskPipeline: ...@@ -155,9 +154,7 @@ class WorkflowBasedGenerateTaskPipeline:
db.session.add(workflow_node_execution) db.session.add(workflow_node_execution)
db.session.commit() db.session.commit()
db.session.refresh(workflow_node_execution)
workflow_node_execution = (db.session.query(WorkflowNodeExecution)
.filter(WorkflowNodeExecution.id == workflow_node_execution.id).first())
db.session.close() db.session.close()
return workflow_node_execution 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