Skip to content

[Chore/Refactor] use sessionmaker when session.commit is used #24245

@asukaminato0721

Description

@asukaminato0721

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for refactoring, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Description

after #24115

from

with Session(...) as session:
    ...
    session.commit()

to

with sessionmaker(...).begin() as session:
    ...

Motivation

we can now construct a Session() and include begin()/commit()/rollback() at once

Additional Context

https://docs.sqlalchemy.org/en/20/orm/session_basics.html#framing-out-a-begin-commit-rollback-block

also

https://docs.sqlalchemy.org/en/20/orm/session_basics.html#using-a-sessionmaker

example #24246

the file using with Session……

Controllers (23 files)

  • api/controllers/console/admin.py
  • api/controllers/console/apikey.py
  • api/controllers/console/app/app.py
  • api/controllers/console/app/app_import.py
  • api/controllers/console/app/conversation_variables.py
  • api/controllers/console/app/workflow.py
  • api/controllers/console/app/workflow_app_log.py
  • api/controllers/console/app/workflow_draft_variable.py
  • api/controllers/console/app/workflow_trigger.py
  • api/controllers/console/auth/email_register.py
  • api/controllers/console/auth/forgot_password.py
  • api/controllers/console/auth/oauth.py
  • api/controllers/console/datasets/data_source.py
  • api/controllers/console/datasets/rag_pipeline/rag_pipeline.py
  • api/controllers/console/datasets/rag_pipeline/rag_pipeline_datasets.py
  • api/controllers/console/datasets/rag_pipeline/rag_pipeline_draft_variable.py
  • api/controllers/console/datasets/rag_pipeline/rag_pipeline_import.py
  • api/controllers/console/datasets/rag_pipeline/rag_pipeline_workflow.py
  • api/controllers/console/explore/conversation.py
  • api/controllers/console/workspace/account.py
  • api/controllers/console/workspace/tool_providers.py
  • api/controllers/console/workspace/trigger_providers.py
  • api/controllers/console/workspace/init.py

Web Controllers (4 files)

  • api/controllers/web/conversation.py
  • api/controllers/web/forgot_password.py
  • api/controllers/web/wraps.py
  • api/controllers/mcp/mcp.py

Service API Controllers (3 files)

  • api/controllers/service_api/app/conversation.py
  • api/controllers/service_api/app/workflow.py
  • api/controllers/service_api/wraps.py

Inner API Controllers (1 file)

  • api/controllers/inner_api/plugin/wraps.py

Services (22 files)

  • api/services/account_service.py
  • api/services/async_workflow_service.py
  • api/services/clear_free_plan_tenant_expired_logs.py
  • api/services/conversation_service.py
  • api/services/datasource_provider_service.py
  • api/services/dataset_service.py
  • api/services/end_user_service.py
  • api/services/oauth_server.py
  • api/services/plugin/plugin_auto_upgrade_service.py
  • api/services/plugin/plugin_migration.py
  • api/services/plugin/plugin_permission_service.py
  • api/services/plugin/plugin_parameter_service.py
  • api/services/rag_pipeline/rag_pipeline.py
  • api/services/tools/builtin_tools_manage_service.py
  • api/services/tools/workflow_tools_manage_service.py
  • api/services/trigger/app_trigger_service.py
  • api/services/trigger/trigger_provider_service.py
  • api/services/trigger/trigger_service.py
  • api/services/trigger/webhook_service.py
  • api/services/trigger/trigger_subscription_operator_service.py
  • api/services/workflow_draft_variable_service.py
  • api/services/workflow_service.py

Core Application Logic (25 files)

  • api/core/app/apps/advanced_chat/app_generator.py
  • api/core/app/apps/advanced_chat/app_runner.py
  • api/core/app/apps/advanced_chat/generate_task_pipeline.py
  • api/core/app/apps/message_based_app_generator.py
  • api/core/app/apps/pipeline/pipeline_generator.py
  • api/core/app/apps/workflow/app_generator.py
  • api/core/app/apps/workflow/generate_task_pipeline.py
  • api/core/app/task_pipeline/easy_ui_based_generate_task_pipeline.py
  • api/core/app/task_pipeline/message_cycle_manager.py
  • api/core/entities/provider_configuration.py
  • api/core/helper/credential_utils.py
  • api/core/mcp/auth_client.py
  • api/core/ops/base_trace_instance.py
  • api/core/ops/ops_trace_manager.py
  • api/core/ops/tencent_trace/tencent_trace.py
  • api/core/plugin/backwards_invocation/app.py
  • api/core/provider_manager.py
  • api/core/rag/datasource/retrieval_service.py
  • api/core/rag/datasource/vdb/pgvecto_rs/pgvecto_rs.py
  • api/core/rag/datasource/vdb/relyt/relyt_vector.py
  • api/core/rag/datasource/vdb/tidb_vector/tidb_vector.py
  • api/core/rag/retrieval/dataset_retrieval.py
  • api/core/tools/mcp_tool/tool.py
  • api/core/tools/tool_file_manager.py
  • api/core/tools/tool_manager.py

Workflow Nodes (4 files)

  • api/core/workflow/nodes/agent/agent_node.py
  • api/core/workflow/nodes/datasource/datasource_node.py
  • api/core/workflow/nodes/llm/llm_utils.py
  • api/core/workflow/nodes/tool/tool_node.py
  • api/core/workflow/nodes/variable_assigner/common/impl.py

Tools (2 files)

  • api/core/tools/workflow_as_tool/provider.py
  • api/core/tools/workflow_as_tool/tool.py

Models (2 files)

  • api/models/account.py
  • api/models/model.py

Tasks (6 files)

  • api/tasks/rag_pipeline/priority_rag_pipeline_run_task.py
  • api/tasks/rag_pipeline/rag_pipeline_run_task.py
  • api/tasks/trigger_processing_tasks.py
  • api/tasks/trigger_subscription_refresh_tasks.py
  • api/tasks/workflow_draft_var_tasks.py

Scheduled Tasks (1 file)

  • api/schedule/trigger_provider_refresh_task.py

Event Handlers (3 files)

  • api/events/event_handlers/update_app_triggers_when_app_published_workflow_updat
    ed.py
  • api/events/event_handlers/update_provider_when_message_created.py
  • api/events/event_handlers/sync_workflow_schedule_when_app_published.py

we should modify this one by one, for better test

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions