|
|
|
@ -26,6 +26,7 @@ from core.errors.error import (
|
|
|
|
from core.model_runtime.errors.invoke import InvokeError
|
|
|
|
from core.model_runtime.errors.invoke import InvokeError
|
|
|
|
from extensions.ext_database import db
|
|
|
|
from extensions.ext_database import db
|
|
|
|
from fields.workflow_app_log_fields import workflow_app_log_pagination_fields
|
|
|
|
from fields.workflow_app_log_fields import workflow_app_log_pagination_fields
|
|
|
|
|
|
|
|
from fields.workflow_run_fields import workflow_run_node_execution_list_fields
|
|
|
|
from libs import helper
|
|
|
|
from libs import helper
|
|
|
|
from libs.helper import TimestampField
|
|
|
|
from libs.helper import TimestampField
|
|
|
|
from models.model import App, AppMode, EndUser
|
|
|
|
from models.model import App, AppMode, EndUser
|
|
|
|
@ -33,6 +34,7 @@ from models.workflow import WorkflowRun, WorkflowRunStatus
|
|
|
|
from services.app_generate_service import AppGenerateService
|
|
|
|
from services.app_generate_service import AppGenerateService
|
|
|
|
from services.errors.llm import InvokeRateLimitError
|
|
|
|
from services.errors.llm import InvokeRateLimitError
|
|
|
|
from services.workflow_app_service import WorkflowAppService
|
|
|
|
from services.workflow_app_service import WorkflowAppService
|
|
|
|
|
|
|
|
from services.workflow_run_service import WorkflowRunService
|
|
|
|
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
@ -162,7 +164,23 @@ class WorkflowAppLogApi(Resource):
|
|
|
|
return workflow_app_log_pagination
|
|
|
|
return workflow_app_log_pagination
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class WorkflowRunNodeExecutionListServiceApi(Resource):
|
|
|
|
|
|
|
|
@validate_app_token
|
|
|
|
|
|
|
|
@marshal_with(workflow_run_node_execution_list_fields)
|
|
|
|
|
|
|
|
def get(self, app_model: App, workflow_run_id: str):
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
Get workflow run node execution list
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
run_id = str(workflow_run_id)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workflow_run_service = WorkflowRunService()
|
|
|
|
|
|
|
|
node_executions = workflow_run_service.get_workflow_run_node_executions(app_model=app_model, run_id=run_id)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return {"data": node_executions}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
api.add_resource(WorkflowRunApi, "/workflows/run")
|
|
|
|
api.add_resource(WorkflowRunApi, "/workflows/run")
|
|
|
|
api.add_resource(WorkflowRunDetailApi, "/workflows/run/<string:workflow_run_id>")
|
|
|
|
api.add_resource(WorkflowRunDetailApi, "/workflows/run/<string:workflow_run_id>")
|
|
|
|
api.add_resource(WorkflowTaskStopApi, "/workflows/tasks/<string:task_id>/stop")
|
|
|
|
api.add_resource(WorkflowTaskStopApi, "/workflows/tasks/<string:task_id>/stop")
|
|
|
|
api.add_resource(WorkflowAppLogApi, "/workflows/logs")
|
|
|
|
api.add_resource(WorkflowAppLogApi, "/workflows/logs")
|
|
|
|
|
|
|
|
api.add_resource(WorkflowRunNodeExecutionListServiceApi, "/workflows/run/<string:workflow_run_id>/node-executions")
|
|
|
|
|