refactor(api): use sessionmaker in workflow & RAG pipeline services (#34805)

This commit is contained in:
carlos4s 2026-04-09 00:42:39 -05:00 committed by GitHub
parent c19a822e1b
commit be1f4b34f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 10 deletions

View File

@ -555,7 +555,7 @@ class RagPipelineService:
workflow_node_execution.id
)
with Session(bind=db.engine) as session, session.begin():
with sessionmaker(bind=db.engine).begin() as session:
draft_var_saver = DraftVariableSaver(
session=session,
app_id=pipeline.id,
@ -569,7 +569,6 @@ class RagPipelineService:
process_data=workflow_node_execution.process_data,
outputs=workflow_node_execution.outputs,
)
session.commit()
if isinstance(workflow_node_execution_db_model, WorkflowNodeExecutionModel):
enqueue_draft_node_execution_trace(
execution=workflow_node_execution_db_model,
@ -1325,7 +1324,7 @@ class RagPipelineService:
# Convert node_execution to WorkflowNodeExecution after save
workflow_node_execution_db_model = repository._to_db_model(workflow_node_execution) # type: ignore
with Session(bind=db.engine) as session, session.begin():
with sessionmaker(bind=db.engine).begin() as session:
draft_var_saver = DraftVariableSaver(
session=session,
app_id=pipeline.id,
@ -1339,7 +1338,6 @@ class RagPipelineService:
process_data=workflow_node_execution.process_data,
outputs=workflow_node_execution.outputs,
)
session.commit()
enqueue_draft_node_execution_trace(
execution=workflow_node_execution_db_model,
outputs=workflow_node_execution.outputs,

View File

@ -1075,9 +1075,8 @@ class DraftVariableSaver:
)
engine = bind = self._session.get_bind()
assert isinstance(engine, Engine)
with Session(bind=engine, expire_on_commit=False) as session:
with sessionmaker(bind=engine, expire_on_commit=False).begin() as session:
session.add(variable_file)
session.commit()
return truncation_result.result, variable_file

View File

@ -837,7 +837,7 @@ class WorkflowService:
with sessionmaker(db.engine).begin() as session:
outputs = workflow_node_execution.load_full_outputs(session, storage)
with Session(bind=db.engine) as session, session.begin():
with sessionmaker(bind=db.engine).begin() as session:
draft_var_saver = DraftVariableSaver(
session=session,
app_id=app_model.id,
@ -848,7 +848,6 @@ class WorkflowService:
user=account,
)
draft_var_saver.save(process_data=node_execution.process_data, outputs=outputs)
session.commit()
enqueue_draft_node_execution_trace(
execution=workflow_node_execution,
@ -977,7 +976,7 @@ class WorkflowService:
enclosing_node_type_and_id = draft_workflow.get_enclosing_node_type_and_id(node_config)
enclosing_node_id = enclosing_node_type_and_id[1] if enclosing_node_type_and_id else None
with Session(bind=db.engine) as session, session.begin():
with sessionmaker(bind=db.engine).begin() as session:
draft_var_saver = DraftVariableSaver(
session=session,
app_id=app_model.id,
@ -988,7 +987,6 @@ class WorkflowService:
enclosing_node_id=enclosing_node_id,
)
draft_var_saver.save(outputs=outputs, process_data={})
session.commit()
return outputs