mirror of
https://github.com/langgenius/dify.git
synced 2025-11-21 15:32:39 +00:00
28 lines
912 B
Python
28 lines
912 B
Python
|
|
"""
|
||
|
|
Celery tasks for asynchronous workflow execution storage operations.
|
||
|
|
|
||
|
|
These tasks provide asynchronous storage capabilities for workflow execution data,
|
||
|
|
improving performance by offloading storage operations to background workers.
|
||
|
|
"""
|
||
|
|
|
||
|
|
import logging
|
||
|
|
|
||
|
|
from celery import shared_task # type: ignore[import-untyped]
|
||
|
|
from sqlalchemy.orm import Session
|
||
|
|
|
||
|
|
from extensions.ext_database import db
|
||
|
|
|
||
|
|
_logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
from services.workflow_draft_variable_service import DraftVarFileDeletion, WorkflowDraftVariableService
|
||
|
|
|
||
|
|
|
||
|
|
@shared_task(queue="workflow_draft_var", bind=True, max_retries=3, default_retry_delay=60)
|
||
|
|
def save_workflow_execution_task(
|
||
|
|
self,
|
||
|
|
deletions: list[DraftVarFileDeletion],
|
||
|
|
):
|
||
|
|
with Session(bind=db.engine) as session, session.begin():
|
||
|
|
srv = WorkflowDraftVariableService(session=session)
|
||
|
|
srv.delete_workflow_draft_variable_file(deletions=deletions)
|