|
|
|
|
|
|
|
|
self, *, session: Session, workflow_run: WorkflowRun, event: QueueNodeStartedEvent |
|
|
self, *, session: Session, workflow_run: WorkflowRun, event: QueueNodeStartedEvent |
|
|
) -> WorkflowNodeExecution: |
|
|
) -> WorkflowNodeExecution: |
|
|
workflow_node_execution = WorkflowNodeExecution() |
|
|
workflow_node_execution = WorkflowNodeExecution() |
|
|
workflow_node_execution.id = event.node_execution_id |
|
|
|
|
|
|
|
|
workflow_node_execution.id = str(uuid4()) |
|
|
workflow_node_execution.tenant_id = workflow_run.tenant_id |
|
|
workflow_node_execution.tenant_id = workflow_run.tenant_id |
|
|
workflow_node_execution.app_id = workflow_run.app_id |
|
|
workflow_node_execution.app_id = workflow_run.app_id |
|
|
workflow_node_execution.workflow_id = workflow_run.workflow_id |
|
|
workflow_node_execution.workflow_id = workflow_run.workflow_id |
|
|
|
|
|
|
|
|
execution_metadata = json.dumps(merged_metadata) |
|
|
execution_metadata = json.dumps(merged_metadata) |
|
|
|
|
|
|
|
|
workflow_node_execution = WorkflowNodeExecution() |
|
|
workflow_node_execution = WorkflowNodeExecution() |
|
|
workflow_node_execution.id = event.node_execution_id |
|
|
|
|
|
|
|
|
workflow_node_execution.id = str(uuid4()) |
|
|
workflow_node_execution.tenant_id = workflow_run.tenant_id |
|
|
workflow_node_execution.tenant_id = workflow_run.tenant_id |
|
|
workflow_node_execution.app_id = workflow_run.app_id |
|
|
workflow_node_execution.app_id = workflow_run.app_id |
|
|
workflow_node_execution.workflow_id = workflow_run.workflow_id |
|
|
workflow_node_execution.workflow_id = workflow_run.workflow_id |
|
|
|
|
|
|
|
|
return workflow_run |
|
|
return workflow_run |
|
|
|
|
|
|
|
|
def _get_workflow_node_execution(self, session: Session, node_execution_id: str) -> WorkflowNodeExecution: |
|
|
def _get_workflow_node_execution(self, session: Session, node_execution_id: str) -> WorkflowNodeExecution: |
|
|
stmt = select(WorkflowNodeExecution).where(WorkflowNodeExecution.id == node_execution_id) |
|
|
|
|
|
|
|
|
stmt = select(WorkflowNodeExecution).where(WorkflowNodeExecution.node_execution_id == node_execution_id) |
|
|
workflow_node_execution = session.scalar(stmt) |
|
|
workflow_node_execution = session.scalar(stmt) |
|
|
if not workflow_node_execution: |
|
|
if not workflow_node_execution: |
|
|
raise WorkflowNodeExecutionNotFoundError(node_execution_id) |
|
|
raise WorkflowNodeExecutionNotFoundError(node_execution_id) |