diff --git a/.gitignore b/.gitignore index 04212571..21a12484 100644 --- a/.gitignore +++ b/.gitignore @@ -50,6 +50,11 @@ Thumbs.db mvnw.cmd mvnw +# Files or folders need to be retained +# ... +/k8s/template-yaml/deploy/ +/k8s/dockerfiles/html/ +/k8s/dockerfiles/jar + # web **/node_modules - diff --git a/k8s/10nexus3/nexus-deploy.yaml b/k8s/10nexus3/nexus-deploy.yaml new file mode 100644 index 00000000..7eb064aa --- /dev/null +++ b/k8s/10nexus3/nexus-deploy.yaml @@ -0,0 +1,84 @@ +# cat nexus3/nexus3.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + k8s-app: ci4s-nexus3 + name: ci4s-nexus3 + namespace: ci4s-test +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: ci4s-nexus3 + template: + metadata: + labels: + k8s-app: ci4s-nexus3 + name: ci4s-nexus3 + namespace: ci4s-test + spec: + containers: + - name: ci4s-nexus3 + image: sonatype/nexus3:3.29.2 + imagePullPolicy: IfNotPresent + env: + - name: http_proxy + value: http://172.20.32.253:3128 + - name: https_proxy + value: http://172.20.32.253:3128 + ports: + - containerPort: 8081 + name: web + protocol: TCP + livenessProbe: + httpGet: + path: / + port: 8081 + initialDelaySeconds: 540 + periodSeconds: 30 + failureThreshold: 6 + readinessProbe: + httpGet: + path: / + port: 8081 + initialDelaySeconds: 540 + periodSeconds: 30 + failureThreshold: 6 +# resources: +# limits: +# cpu: 1000m +# memory: 2Gi +# requests: +# cpu: 500m +# memory: 512Mi + volumeMounts: + - name: nexus-data + mountPath: /nexus-data + volumes: + - name: nexus-data + persistentVolumeClaim: + claimName: ci4s-nexus-data-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: nexus3 + namespace: ci4s-test + labels: + k8s-app: nexus3 +spec: + selector: + k8s-app: nexus3 + type: NodePort + ports: + - name: web + protocol: TCP + port: 8081 + targetPort: 8081 + nodePort: 31211 + - name: dockerpod + protocol: TCP + port: 8082 + targetPort: 8082 + nodePort: 31212 diff --git a/k8s/10nexus3/nexus-pvc.yaml b/k8s/10nexus3/nexus-pvc.yaml new file mode 100644 index 00000000..68795feb --- /dev/null +++ b/k8s/10nexus3/nexus-pvc.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: ci4s-nexus-data-pvc + namespace: ci4s-test +spec: + accessModes: + - ReadWriteMany + storageClassName: "storage-nfs" + resources: + requests: + storage: 500Gi diff --git a/k8s/build-java.sh b/k8s/build-java.sh new file mode 100755 index 00000000..bb0884a3 --- /dev/null +++ b/k8s/build-java.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +baseDir="/home/somuns/ci4s" + + +#判断$1是否为all,如果是,则编译所有模块,否则只编译management-platform模块 +if [ "$1" == "all" ]; then + buildDir=$baseDir +elif [ "$1" == "manage" ]; then + buildDir="$baseDir/ruoyi-modules/management-platform" +elif [ "$1" == "auth" ]; then + buildDir="$baseDir/ruoyi-auth" +elif [ "$1" == "gateway" ]; then + buildDir="$baseDir/ruoyi-gateway" +elif [ "$1" == "system" ]; then + buildDir="$baseDir/ruoyi-modules/ruoyi-system" +fi + +echo "Building $buildDir" +cd $buildDir && mvn clean install + +if [ $? -ne 0 ]; then + echo "Failed to build ruoyi-modules" + exit 1 +fi + + + + + + + + diff --git a/k8s/build-java.sh.bak b/k8s/build-java.sh.bak new file mode 100644 index 00000000..66ddbecc --- /dev/null +++ b/k8s/build-java.sh.bak @@ -0,0 +1,25 @@ +#!/bin/bash + +baseDir="/home/somuns/ci4s" +#判断$1是否为all,如果是,则编译所有模块,否则只编译management-platform模块 +if [ "$1" == "all" ]; then + buildDir=$baseDir +else + buildDir="$baseDir/ruoyi-modules/management-platform" +fi + +echo "Building $buildDir" +cd $buildDir && mvn clean install + +if [ $? -ne 0 ]; then + echo "Failed to build ruoyi-modules" + exit 1 +fi + + + + + + + + diff --git a/k8s/build-node.sh b/k8s/build-node.sh new file mode 100755 index 00000000..df353aa4 --- /dev/null +++ b/k8s/build-node.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +baseDir="/home/somuns/ci4s" +cd ${baseDir}/react-ui + +npm config set registry https://registry.npmmirror.com/ +npm config set proxy http://172.20.32.253:3128 +npm config set https-proxy http://172.20.32.253:3128 + +npm install --force + +if [ $? -ne 0 ]; then + echo "Failed to install npm depend package" + exit 1 +fi + + +npm run build +if [ $? -ne 0 ]; then + echo "Failed to build react-ui" + exit 1 +fi + + + diff --git a/k8s/build-node.sh.bak b/k8s/build-node.sh.bak new file mode 100644 index 00000000..9805d2ca --- /dev/null +++ b/k8s/build-node.sh.bak @@ -0,0 +1,21 @@ +#!/bin/bash + +baseDir="/home/somuns/ci4s" +cd ${baseDir}/react-ui + +npm install + +if [ $? -ne 0 ]; then + echo "Failed to install npm depend package" + exit 1 +fi + + +npm run build +if [ $? -ne 0 ]; then + echo "Failed to build react-ui" + exit 1 +fi + + + diff --git a/k8s/build.sh b/k8s/build.sh new file mode 100755 index 00000000..13298d60 --- /dev/null +++ b/k8s/build.sh @@ -0,0 +1,141 @@ +#!/bin/bash + +#记录开始时间 +start=$(date +%s) + +# 默认参数 +branch="master" +service="manage-front" + + +show_help() { + echo "Usage: $0 [-b branch] [-s service]" + echo + echo "Options:" + echo " -b Branch to deploy, default is master" + echo " -s Service to deploy (manage-front, manage, front, all, default is manage-front)" + echo " -h Show this help message" +} + +# 解析命令行选项 +while getopts "b:s:h" opt; do + case $opt in + b) branch=$OPTARG ;; + s) service=$OPTARG ;; + h) show_help; exit 0 ;; + \?) echo "Invalid option -$OPTARG" >&2; show_help; exit 1 ;; + esac +done + +echo "branch: $branch" +echo "service: $service" + +valid_services=("manage-front" "manage" "front" "all" "auth" "gateway" "system") +if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then + echo "Invalid service name: $service" >&2 + echo "Valid services are: ${valid_services[*]}" + exit 1 +fi + +# 登录到目标环境 +baseDir="/home/somuns/ci4s" +cd ${baseDir} + +# 创建目录 +mkdir -p ${baseDir}/k8s/dockerfiles/jar +mkdir -p ${baseDir}/k8s/dockerfiles/html + +compile_front() { + # 清理前端构建文件 + if [ -d "${baseDir}/react-ui/dist" ]; then + rm -rf ${baseDir}/react-ui/dist + fi + + # 编译前端 + docker run -v ${baseDir}:${baseDir} \ + -e http_proxy=http://172.20.32.253:3128 -e https_proxy=http://172.20.32.253:3128 \ + 172.20.32.187/ci4s/node:16.16.0 ${baseDir}/k8s/build-node.sh + if [ $? -ne 0 ]; then + echo "编译失败,请检查代码!" + exit 1 + fi + + # 复制前端文件 + cp -rf ${baseDir}/react-ui/dist/ ${baseDir}/k8s/dockerfiles/html + if [ $? -ne 0 ]; then + echo "复制html文件失败,请检查代码!" + exit 1 + fi +} + +compile_java() { + param=$1 + # 编译java + docker run -v ${baseDir}:${baseDir} -v /home/maven:/home/maven \ + -e http_proxy=http://172.20.32.253:3128 -e https_proxy=http://172.20.32.253:3128 \ + 172.20.32.187/ci4s/build:v3 ${baseDir}/k8s/build-java.sh $param + if [ $? -ne 0 ]; then + echo "编译失败,请检查代码!" + exit 1 + fi + + # 复制jar包 + cp -rf ${baseDir}/ruoyi-modules/management-platform/target/management-platform.jar ${baseDir}/k8s/dockerfiles/jar/management-platform.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + + if [ "$param" == "all" ]; then + cp -rf ${baseDir}/ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-modules-system.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + + cp -rf ${baseDir}/ruoyi-auth/target/ruoyi-auth.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-auth.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + + cp -rf ${baseDir}/ruoyi-gateway/target/ruoyi-gateway.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-gateway.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + fi +} + +if [ "$service" == "front" ]; then + # 编译前端 + compile_front +fi + +if [ "$service" == "manage-front" ]; then + # 编译前端 + compile_front + # 编译java + compile_java "manage" +fi + +if [ "$service" != "manage-front" ] && [ "$service" != "all" ] && [ "$service" != "front" ]; then + # 编译java + compile_java $service +fi + +if [ "$service" == "all" ]; then + # 编译前端 + compile_front + + # 编译java + compile_java "all" +fi + + +# 记录结束时间 +end=$(date +%s) + +#计算运行时间 +runtime=$((end-start)) +echo "编译成功,耗时:$runtime 秒" diff --git a/k8s/build_and_deploy.sh b/k8s/build_and_deploy.sh new file mode 100755 index 00000000..44ea23fa --- /dev/null +++ b/k8s/build_and_deploy.sh @@ -0,0 +1,92 @@ +#!/bin/bash + +#记录开始时间 +startTime=$(date +%s) + +# 登录到目标环境 +baseDir="/home/somuns/ci4s" +cd ${baseDir} + +#build +# 默认参数 +branch="master" +service="manage-front" +env="dev" + +# +show_help() { + echo "Usage: $0 [-b branch] [-s service] [-e environment]" + echo + echo "Options:" + echo " -b Branch to deploy, default: master" + echo " -s Service to deploy (manage-front, manage, front, all, default: manage-front)" + echo " -e Environment (e.g., dev, test, default: dev)" + echo " -h Show this help message" +} + +# 解析命令行选项 +while getopts "b:s:e:h" opt; do + case $opt in + b) branch=$OPTARG ;; + s) service=$OPTARG ;; + e) env=$OPTARG ;; + h) show_help; exit 0 ;; + \?) echo "Invalid option -$OPTARG" >&2; show_help; exit 1 ;; + esac +done + +# 拉取指定分支的最新代码 +echo "Checking out and pulling branch $branch..." + +git stash +git checkout $branch +if [ $? -ne 0 ]; then + echo "切换到分支 $branch 失败,请检查分支名称是否正确!" + exit 1 +fi + +git stash +git pull origin $branch +if [ $? -ne 0 ]; then + echo "拉取代码失败,请检查网络或联系管理员!" + exit 1 +fi + +chmod +777 ${baseDir}/k8s/*.sh + +valid_services=("manage-front" "manage" "front" "all" "auth" "gateway" "system") +if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then + echo "Invalid service name: $service" >&2 + echo "Valid services are: ${valid_services[*]}" + exit 1 +fi + +valid_envs=("dev" "test") +if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then + echo "Invalid environment: $env" >&2 + echo "Valid environments are: ${valid_envs[*]}" + exit 1 +fi + +echo "start build" +sh ${baseDir}/k8s/build.sh -b ${branch} -s ${service} +if [ $? -ne 0 ]; then + echo "Build failed" + exit 1 +fi +echo "build success" + +# 部署 +echo "start deploy" +sh ${baseDir}/k8s/deploy.sh -s ${service} -e ${env} +if [ $? -ne 0 ]; then + echo "Deploy failed" + exit 1 +fi +echo "deploy success" + +# 记录结束时间 +endTime=$(date +%s) +# 计算运行时间 +duration=$(( $endTime - $startTime )) +echo "编译发布总耗时: $duration 秒" \ No newline at end of file diff --git a/k8s/build_and_deploy.sh.bak b/k8s/build_and_deploy.sh.bak new file mode 100644 index 00000000..eacc9c6b --- /dev/null +++ b/k8s/build_and_deploy.sh.bak @@ -0,0 +1,74 @@ +#!/bin/bash + +#记录开始时间 +startTime=$(date +%s) + +# 登录到目标环境 +baseDir="/home/somuns/ci4s" +cd ${baseDir} + + +#build +# 默认参数 +branch="master" +service="manage-front" +env="dev" + +# +show_help() { + echo "Usage: $0 [-b branch] [-s service] [-e environment]" + echo + echo "Options:" + echo " -b Branch to deploy, default: master" + echo " -s Service to deploy (manage-front, manage, front, all, default: manage-front)" + echo " -e Environment (e.g., dev, test, default: dev)" + echo " -h Show this help message" +} + +# 解析命令行选项 +while getopts "b:s:e:h" opt; do + case $opt in + b) branch=$OPTARG ;; + s) service=$OPTARG ;; + e) env=$OPTARG ;; + h) show_help; exit 0 ;; + \?) echo "Invalid option -$OPTARG" >&2; show_help; exit 1 ;; + esac +done + +valid_services=("manage-front" "manage" "front" "all") +if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then + echo "Invalid service name: $service" >&2 + echo "Valid services are: ${valid_services[*]}" + exit 1 +fi + +valid_envs=("dev" "test") +if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then + echo "Invalid environment: $env" >&2 + echo "Valid environments are: ${valid_envs[*]}" + exit 1 +fi + +echo "start build" +sh ${baseDir}/k8s/build.sh -b ${branch} -s ${service} +if [ $? -ne 0 ]; then + echo "Build failed" + exit 1 +fi +echo "build success" + +# 部署 +echo "start deploy" +sh ${baseDir}/k8s/deploy.sh -s ${service} -e ${env} +if [ $? -ne 0 ]; then + echo "Deploy failed" + exit 1 +fi +echo "deploy success" + +# 记录结束时间 +endTime=$(date +%s) +# 计算运行时间 +duration=$(( $endTime - $startTime )) +echo "编译发布总耗时: $duration 秒" \ No newline at end of file diff --git a/k8s/clusterrolebinding.yaml b/k8s/clusterrolebinding.yaml new file mode 100644 index 00000000..1e76e022 --- /dev/null +++ b/k8s/clusterrolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: admin-service-account-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: +- kind: ServiceAccount + name: admin-service-account + namespace: default + diff --git a/k8s/deploy.sh b/k8s/deploy.sh new file mode 100755 index 00000000..d06c05d9 --- /dev/null +++ b/k8s/deploy.sh @@ -0,0 +1,181 @@ +#!/bin/bash + +# 记录开始时间 +start=$(date +%s) +# 默认参数 +service="manage-front" +env="dev" + +show_help() { + echo "Usage: $0 [-s service] [-e environment]" + echo + echo "Options:" + echo " -s Service to deploy (manage-front, manage, front, all default: manage-front)" + echo " -e Environment (e.g., dev, test, default: dev)" + echo " -h Show this help message" +} + +# 解析命令行参数 +while getopts "s:e:h" opt; do + case $opt in + s) service=$OPTARG ;; + e) env=$OPTARG ;; + h) show_help; exit 0 ;; + \?) echo "Invalid option -$OPTARG" >&2; exit 1 ;; + esac +done + +echo "Deploy service: $service, environment: $env" + +valid_services=("manage-front" "manage" "front" "all" "auth" "gateway" "system") +if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then + echo "Invalid service name: $service" >&2 + echo "Valid services are: ${valid_services[*]}" + exit 1 +fi + +valid_envs=("dev" "test") +if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then + echo "Invalid environment: $env" >&2 + echo "Valid environments are: ${valid_envs[*]}" + exit 1 +fi + +# 根据环境设置 IP 地址 +if [ "$env" == "dev" ]; then + remote_ip="172.20.32.181" +elif [ "$env" == "test" ]; then + remote_ip="172.20.32.185" +else + echo "Invalid environment - $env" + exit 1 +fi + +baseDir=/home/somuns/ci4s +tag=$(date +'%Y%m%d%H%M') +remote_deploy_dir=/home/deploy/manage-platform + +# 构建镜像函数 +build_image() { + local dockerfile=$1 + local image=$2 + cd ${baseDir}/k8s/dockerfiles + docker build -t ${image} -f ${dockerfile} . + if [ $? -ne 0 ]; then + echo "Build ${image} image fail" + exit 1 + fi + docker push ${image} +} + +# 复制和替换 YAML 文件函数 +prepare_yaml() { + local yaml_file=$1 + local image=$2 + + placeholder="\${${yaml_file%.yaml}-image}" + cd ${baseDir}/k8s/template-yaml + cp -rf ${yaml_file} deploy/ + cd deploy/ + sed -i "s|${placeholder}|${image}|g" ${yaml_file} + if [ $? -ne 0 ]; then + echo "Replace ${image} image fail" + exit 1 + fi + + # 建立远程目录并备份文件 + ssh root@$remote_ip "mkdir -p ${remote_deploy_dir} && if [ -f ${remote_deploy_dir}/${yaml_file} ]; then mv ${remote_deploy_dir}/${yaml_file} ${remote_deploy_dir}/${yaml_file}.bak; fi" + if [ $? -ne 0 ]; then + echo "Failed to create remote directory or backup ${yaml_file}" + exit 1 + else + echo "Successfully created remote directory and backup ${yaml_file}" + fi + + scp ${baseDir}/k8s/template-yaml/deploy/${yaml_file} root@$remote_ip:${remote_deploy_dir}/${yaml_file} + if [ $? -ne 0 ]; then + echo "Failed to copy ${yaml_file}" + exit 1 + else + echo "Successfully copied ${yaml_file}" + fi +} + +# 部署服务函数 +deploy_service() { + local yaml_file=$1 + ssh root@$remote_ip "kubectl apply -n argo -f ${remote_deploy_dir}/${yaml_file}" + if [ $? -ne 0 ]; then + echo "Failed to deploy ${yaml_file}" + exit 1 + else + echo "Successfully deployed ${yaml_file}" + fi +} + +deploy_nacos() { + local yaml_file=$1 + scp ${baseDir}/k8s/template-yaml/${yaml_file} root@$remote_ip:${remote_deploy_dir}/${yaml_file} + deploy_service ${yaml_file} +} + +build_and_deploy() { + local dockerfile=$1 + local image=$2 + local yaml_file=$3 + + build_image ${dockerfile} ${image} + prepare_yaml ${yaml_file} ${image} + deploy_service ${yaml_file} +} + +if [ "$service" == "front" ]; then + build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml" +fi + +# 构建和部署 manage 服务 +if [ "$service" == "manage" ]; then + build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml" +fi + +if [ "$service" == "auth" ]; then + #部署认证中心 + build_and_deploy "auth-dockerfile" "172.20.32.187/ci4s/ci4s-auth:${tag}" "k8s-5auth.yaml" +fi + +if [ "$service" == "gateway" ]; then + #部署网关 + build_and_deploy "gateway-dockerfile" "172.20.32.187/ci4s/ci4s-gateway:${tag}" "k8s-4gateway.yaml" +fi + +if [ "$service" == "system" ]; then + #部署系统服务 + build_and_deploy "system-dockerfile" "172.20.32.187/ci4s/ci4s-system:${tag}" "k8s-6system.yaml" +fi + +# 构建和部署 front 服务 +if [ "$service" == "manage-front" ]; then + build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml" + build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml" +fi + + +if [ "$service" == "all" ]; then + #部署前端 + build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml" + #部署管理平台 + build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml" + #部署认证中心 + build_and_deploy "auth-dockerfile" "172.20.32.187/ci4s/ci4s-auth:${tag}" "k8s-5auth.yaml" + #部署网关 + build_and_deploy "gateway-dockerfile" "172.20.32.187/ci4s/ci4s-gateway:${tag}" "k8s-4gateway.yaml" + #部署系统服务 + build_and_deploy "system-dockerfile" "172.20.32.187/ci4s/ci4s-system:${tag}" "k8s-6system.yaml" + #部署配置中心 + deploy_nacos "k8s-3nacos.yaml" +fi + + +# 记录结束时间 +end=$(date +%s) +echo "部署成功, 耗时: $((end-start))秒" diff --git a/k8s/deploy.sh.bak b/k8s/deploy.sh.bak new file mode 100644 index 00000000..a9fe57f8 --- /dev/null +++ b/k8s/deploy.sh.bak @@ -0,0 +1,162 @@ +#!/bin/bash + +# 记录开始时间 +start=$(date +%s) +# 默认参数 +service="manage-front" +env="dev" + +show_help() { + echo "Usage: $0 [-s service] [-e environment]" + echo + echo "Options:" + echo " -s Service to deploy (manage-front, manage, front, all default: manage-front)" + echo " -e Environment (e.g., dev, test, default: dev)" + echo " -h Show this help message" +} + +# 解析命令行参数 +while getopts "s:e:h" opt; do + case $opt in + s) service=$OPTARG ;; + e) env=$OPTARG ;; + h) show_help; exit 0 ;; + \?) echo "Invalid option -$OPTARG" >&2; exit 1 ;; + esac +done + +echo "Deploy service: $service, environment: $env" + +valid_services=("manage-front" "manage" "front" "all") +if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then + echo "Invalid service name: $service" >&2 + echo "Valid services are: ${valid_services[*]}" + exit 1 +fi + +valid_envs=("dev" "test") +if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then + echo "Invalid environment: $env" >&2 + echo "Valid environments are: ${valid_envs[*]}" + exit 1 +fi + +# 根据环境设置 IP 地址 +if [ "$env" == "dev" ]; then + remote_ip="172.20.32.181" +elif [ "$env" == "test" ]; then + remote_ip="172.20.32.185" +else + echo "Invalid environment - $env" + exit 1 +fi + +baseDir=/home/somuns/ci4s +tag=$(date +'%Y%m%d%H%M') +remote_deploy_dir=/home/deploy/manage-platform + +# 构建镜像函数 +build_image() { + local dockerfile=$1 + local image=$2 + cd ${baseDir}/k8s/dockerfiles + docker build -t ${image} -f ${dockerfile} . + if [ $? -ne 0 ]; then + echo "Build ${image} image fail" + exit 1 + fi + docker push ${image} +} + +# 复制和替换 YAML 文件函数 +prepare_yaml() { + local yaml_file=$1 + local image=$2 + + placeholder="\${${yaml_file%.yaml}-image}" + cd ${baseDir}/k8s/template-yaml + cp -rf ${yaml_file} deploy/ + cd deploy/ + sed -i "s|${placeholder}|${image}|g" ${yaml_file} + if [ $? -ne 0 ]; then + echo "Replace ${image} image fail" + exit 1 + fi + + # 建立远程目录并备份文件 + ssh root@$remote_ip "mkdir -p ${remote_deploy_dir} && if [ -f ${remote_deploy_dir}/${yaml_file} ]; then mv ${remote_deploy_dir}/${yaml_file} ${remote_deploy_dir}/${yaml_file}.bak; fi" + if [ $? -ne 0 ]; then + echo "Failed to create remote directory or backup ${yaml_file}" + exit 1 + else + echo "Successfully created remote directory and backup ${yaml_file}" + fi + + scp ${baseDir}/k8s/template-yaml/deploy/${yaml_file} root@$remote_ip:${remote_deploy_dir}/${yaml_file} + if [ $? -ne 0 ]; then + echo "Failed to copy ${yaml_file}" + exit 1 + else + echo "Successfully copied ${yaml_file}" + fi +} + +# 部署服务函数 +deploy_service() { + local yaml_file=$1 + ssh root@$remote_ip "kubectl apply -n argo -f ${remote_deploy_dir}/${yaml_file}" + if [ $? -ne 0 ]; then + echo "Failed to deploy ${yaml_file}" + exit 1 + else + echo "Successfully deployed ${yaml_file}" + fi +} + +deploy_nacos() { + local yaml_file=$1 + scp ${baseDir}/k8s/${yaml_file} root@$remote_ip:${remote_deploy_dir}/${yaml_file} + deploy_service ${yaml_file} +} + +build_and_deploy() { + local dockerfile=$1 + local image=$2 + local yaml_file=$3 + + build_image ${dockerfile} ${image} + prepare_yaml ${yaml_file} ${image} + deploy_service ${yaml_file} +} + +# 构建和部署 manage 服务 +if [ "$service" == "manage-front" ] || [ "$service" == "manage" ]; then + build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml" +fi + + +# 构建和部署 front 服务 +if [ "$service" == "manage-front" ] || [ "$service" == "front" ]; then + build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml" +fi + + +if [ "$service" == "all" ]; then + #部署前端 + build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml" + #部署管理平台 + build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml" + #部署认证中心 + build_and_deploy "auth-dockerfile" "172.20.32.187/ci4s/ci4s-auth:${tag}" "k8s-5auth.yaml" + #部署网关 + build_and_deploy "gateway-dockerfile" "172.20.32.187/ci4s/ci4s-gateway:${tag}" "k8s-4gateway.yaml" + #部署系统服务 + build_and_deploy "system-dockerfile" "172.20.32.187/ci4s/ci4s-system:${tag}" "k8s-6system.yaml" + #部署配置中心 + deploy_nacos "k8s-3nacos.yaml" +fi + + +# 记录结束时间 +end=$(date +%s) +echo "部署成功, 耗时: $((end-start))秒" diff --git a/k8s/dockerfiles/auth-dockerfile b/k8s/dockerfiles/auth-dockerfile index 40c54603..c55fcb88 100644 --- a/k8s/dockerfiles/auth-dockerfile +++ b/k8s/dockerfiles/auth-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/buildimage.sh b/k8s/dockerfiles/buildimage.sh index 03256883..e714d6cc 100644 --- a/k8s/dockerfiles/buildimage.sh +++ b/k8s/dockerfiles/buildimage.sh @@ -1,13 +1,13 @@ #!/bin/bash # 定义一个名为version的变量 version=$1 - +url=$2 # 打印变量的值 echo "版本号为: $version" -docker build -t ci4s-gateway:$version -f gateway-dockerfile . -docker build -t ci4s-auth:$version -f auth-dockerfile . -docker build -t ci4s-file:$version -f file-dockerfile . -docker build -t ci4s-gen:$version -f gen-dockerfile . -docker build -t ci4s-job:$version -f job-dockerfile . -docker build -t ci4s-visual:$version -f visual-dockerfile . -docker build -t ci4s-system:$version -f system-dockerfile . +docker build -t $url/ci4s-gateway:$version -f gateway-dockerfile . +docker build -t $url/ci4s-auth:$version -f auth-dockerfile . +docker build -t $url/ci4s-file:$version -f file-dockerfile . +docker build -t $url/ci4s-gen:$version -f gen-dockerfile . +docker build -t $url/ci4s-job:$version -f job-dockerfile . +docker build -t $url/ci4s-visual:$version -f visual-dockerfile . +docker build -t $url/ci4s-system:$version -f system-dockerfile . diff --git a/k8s/dockerfiles/conf/nginx.conf b/k8s/dockerfiles/conf/nginx.conf index f430581d..c23e02c3 100644 --- a/k8s/dockerfiles/conf/nginx.conf +++ b/k8s/dockerfiles/conf/nginx.conf @@ -1,41 +1,131 @@ -worker_processes 1; - -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - sendfile on; - keepalive_timeout 65; - - server { - listen 8000; - server_name localhost; - - location / { - root /home/ruoyi/projects/ruoyi-ui; - try_files $uri $uri/ /index.html; - index index.html index.htm; - } - - location /api/{ - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://ci4s-gateway-service.ci4s-test.svc:8082/; - } - - # 避免actuator暴露 - if ($request_uri ~ "/actuator") { - return 403; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - } -} \ No newline at end of file +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + client_max_body_size 20480m; + error_log /var/log/nginx/error.log debug; + server { + listen 8000; + server_name localhost; + + location /api/{ +# rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/; + proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒 + proxy_read_timeout 500s; # 设置读取超时时间为 120 秒 + proxy_send_timeout 500s; # 设置发送超时时间为 120 秒 + } + + location /label-studio/ { + # rewrite ^/label-studio/(.*)$ /$1 break; + proxy_pass http://label-studio-service.argo.svc:8080/projects/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options ALLOWALL; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /api/v1/model/ { + proxy_pass http://pipeline-convert-service.argo.svc:80; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + # location /api/v1/realtimeStatus { + # proxy_pass http://argo-server.argo.svc:2746/api/v1/workflow-events/argo; + # proxy_set_header REMOTE-HOST $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # } + + + location /api/v1/tensorboard/show { + # 提取查询参数中的 `svc` 值 + set $svc ""; + if ($arg_svc) { + set $svc $arg_svc; + } + + # 将请求转发到动态生成的内部服务地址 + proxy_pass http://$svc.argo.svc:6006; + + # 传递必要的头信息 + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 对于 WebSocket 应用很重要 + proxy_buffering off; + } + + location /api/v1/realtimeStatus { + rewrite ^/api/v1/realtimeStatus(.*)$ /api/v1/workflow-events/argo$1 break; + + proxy_pass https://argo-server.argo.svc:2746; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 保留查询参数 + proxy_set_header X-Original-URI $request_uri; + + # 禁用缓冲 + proxy_buffering off; + + # 增加超时时间 + proxy_read_timeout 3600s; + proxy_send_timeout 3600s; + proxy_connect_timeout 60s; + + # 设置传递的请求头 + # proxy_set_header Connection ''; + # chunked_transfer_encoding off; + + # 如果需要保留自定义头部 + proxy_set_header Accept 'text/event-stream'; + } + + + location /newlog/realtimeLog { + proxy_pass http://loki.loki-log.svc:3100/loki/api/v1/tail; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/k8s/dockerfiles/conf/nginx.conf.20240705 b/k8s/dockerfiles/conf/nginx.conf.20240705 new file mode 100644 index 00000000..bf9f77c4 --- /dev/null +++ b/k8s/dockerfiles/conf/nginx.conf.20240705 @@ -0,0 +1,64 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + client_max_body_size 20480m; + + server { + listen 8000; + server_name localhost; + + location /api/{ +# rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/; + proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒 + proxy_read_timeout 500s; # 设置读取超时时间为 120 秒 + proxy_send_timeout 500s; # 设置发送超时时间为 120 秒 + } + + location /label-studio/ { + # rewrite ^/label-studio/(.*)$ /$1 break; + proxy_pass http://label-studio-service.argo.svc:8080/projects/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options ALLOWALL; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /api/v1/model/ { + proxy_pass http://pipeline-convert-service.argo.svc:80; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/k8s/dockerfiles/conf/nginx.conf.20240909 b/k8s/dockerfiles/conf/nginx.conf.20240909 new file mode 100644 index 00000000..c23e02c3 --- /dev/null +++ b/k8s/dockerfiles/conf/nginx.conf.20240909 @@ -0,0 +1,131 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + client_max_body_size 20480m; + error_log /var/log/nginx/error.log debug; + server { + listen 8000; + server_name localhost; + + location /api/{ +# rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/; + proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒 + proxy_read_timeout 500s; # 设置读取超时时间为 120 秒 + proxy_send_timeout 500s; # 设置发送超时时间为 120 秒 + } + + location /label-studio/ { + # rewrite ^/label-studio/(.*)$ /$1 break; + proxy_pass http://label-studio-service.argo.svc:8080/projects/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options ALLOWALL; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /api/v1/model/ { + proxy_pass http://pipeline-convert-service.argo.svc:80; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + # location /api/v1/realtimeStatus { + # proxy_pass http://argo-server.argo.svc:2746/api/v1/workflow-events/argo; + # proxy_set_header REMOTE-HOST $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # } + + + location /api/v1/tensorboard/show { + # 提取查询参数中的 `svc` 值 + set $svc ""; + if ($arg_svc) { + set $svc $arg_svc; + } + + # 将请求转发到动态生成的内部服务地址 + proxy_pass http://$svc.argo.svc:6006; + + # 传递必要的头信息 + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 对于 WebSocket 应用很重要 + proxy_buffering off; + } + + location /api/v1/realtimeStatus { + rewrite ^/api/v1/realtimeStatus(.*)$ /api/v1/workflow-events/argo$1 break; + + proxy_pass https://argo-server.argo.svc:2746; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 保留查询参数 + proxy_set_header X-Original-URI $request_uri; + + # 禁用缓冲 + proxy_buffering off; + + # 增加超时时间 + proxy_read_timeout 3600s; + proxy_send_timeout 3600s; + proxy_connect_timeout 60s; + + # 设置传递的请求头 + # proxy_set_header Connection ''; + # chunked_transfer_encoding off; + + # 如果需要保留自定义头部 + proxy_set_header Accept 'text/event-stream'; + } + + + location /newlog/realtimeLog { + proxy_pass http://loki.loki-log.svc:3100/loki/api/v1/tail; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/k8s/dockerfiles/conf/nginx.conf.bak b/k8s/dockerfiles/conf/nginx.conf.bak new file mode 100644 index 00000000..281ad4f4 --- /dev/null +++ b/k8s/dockerfiles/conf/nginx.conf.bak @@ -0,0 +1,60 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + server { + listen 8000; + server_name localhost; + + location /api/{ + rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/; + } + + location /label-studio { + rewrite ^/prod-api/(.*)$ /$1 break; + proxy_pass http://label-studio-ls-app.label-data.svc:80/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options "ALLOW-FROM http://label-studio-ls-app.label-data.svc:80/"; + } + + location /api/v1/model/ { + proxy_pass http://pipeline-convert-service.argo.svc:80; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/k8s/dockerfiles/conf/nginx.conf.bak0719 b/k8s/dockerfiles/conf/nginx.conf.bak0719 new file mode 100644 index 00000000..48e45bf0 --- /dev/null +++ b/k8s/dockerfiles/conf/nginx.conf.bak0719 @@ -0,0 +1,110 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + client_max_body_size 20480m; + error_log /var/log/nginx/error.log debug; + server { + listen 8000; + server_name localhost; + + location /api/{ +# rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/; + proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒 + proxy_read_timeout 500s; # 设置读取超时时间为 120 秒 + proxy_send_timeout 500s; # 设置发送超时时间为 120 秒 + } + + location /label-studio/ { + # rewrite ^/label-studio/(.*)$ /$1 break; + proxy_pass http://label-studio-service.argo.svc:8080/projects/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options ALLOWALL; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /api/v1/model/ { + proxy_pass http://pipeline-convert-service.argo.svc:80; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + # location /api/v1/realtimeStatus { + # proxy_pass http://argo-server.argo.svc:2746/api/v1/workflow-events/argo; + # proxy_set_header REMOTE-HOST $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # } + + location /api/v1/realtimeStatus { + rewrite ^/api/v1/realtimeStatus(.*)$ /api/v1/workflow-events/argo$1 break; + + proxy_pass https://argo-server.argo.svc:2746; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 保留查询参数 + proxy_set_header X-Original-URI $request_uri; + + # 禁用缓冲 + proxy_buffering off; + + # 增加超时时间 + proxy_read_timeout 3600s; + proxy_send_timeout 3600s; + proxy_connect_timeout 60s; + + # 设置传递的请求头 + # proxy_set_header Connection ''; + # chunked_transfer_encoding off; + + # 如果需要保留自定义头部 + proxy_set_header Accept 'text/event-stream'; + } + + + location /newlog/realtimeLog { + proxy_pass http://loki.loki-log.svc:3100/loki/api/v1/tail; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/k8s/dockerfiles/file-dockerfile b/k8s/dockerfiles/file-dockerfile index 0d6e0258..ce175dde 100644 --- a/k8s/dockerfiles/file-dockerfile +++ b/k8s/dockerfiles/file-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 +#FROM openjdk:8-jre # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/gateway-dockerfile b/k8s/dockerfiles/gateway-dockerfile index 6082ce2d..d31960ff 100644 --- a/k8s/dockerfiles/gateway-dockerfile +++ b/k8s/dockerfiles/gateway-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/gen-dockerfile b/k8s/dockerfiles/gen-dockerfile index 0693b1d7..0982cf6b 100644 --- a/k8s/dockerfiles/gen-dockerfile +++ b/k8s/dockerfiles/gen-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/job-dockerfile b/k8s/dockerfiles/job-dockerfile index 028a6526..2b8d026e 100644 --- a/k8s/dockerfiles/job-dockerfile +++ b/k8s/dockerfiles/job-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/managent-dockerfile b/k8s/dockerfiles/managent-dockerfile index 9df2566d..138dc8b5 100644 --- a/k8s/dockerfiles/managent-dockerfile +++ b/k8s/dockerfiles/managent-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM 172.20.32.187/ci4s/openjdk:8u162 +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi @@ -12,4 +13,4 @@ WORKDIR /home/ruoyi # 复制jar文件到路径 COPY ./jar/management-platform.jar /home/ruoyi/management-platform.jar # 启动系统服务 -ENTRYPOINT ["java","-jar","management-platform.jar"] +ENTRYPOINT ["java","-jar","-Djdk.tls.client.protocols=TLSv1.2","management-platform.jar"] diff --git a/k8s/dockerfiles/nginx-dockerfile b/k8s/dockerfiles/nginx-dockerfile index 53b136de..42e9891a 100644 --- a/k8s/dockerfiles/nginx-dockerfile +++ b/k8s/dockerfiles/nginx-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM nginx +#FROM nginx:latest +FROM 172.20.32.187/ci4s/nginx:latest # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/system-dockerfile b/k8s/dockerfiles/system-dockerfile index f57952b0..c4d3cc80 100644 --- a/k8s/dockerfiles/system-dockerfile +++ b/k8s/dockerfiles/system-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi diff --git a/k8s/dockerfiles/visual-dockerfile b/k8s/dockerfiles/visual-dockerfile index 3549bacc..3a96fa3a 100644 --- a/k8s/dockerfiles/visual-dockerfile +++ b/k8s/dockerfiles/visual-dockerfile @@ -1,5 +1,6 @@ # 基础镜像 -FROM openjdk:8-jre +#FROM openjdk:8-jre +FROM 172.20.32.187/ci4s/openjdk-dvc:2024829 # author MAINTAINER ruoyi diff --git a/k8s/helm-1mysql/values.yaml b/k8s/helm-1mysql/values.yaml index e8e97ee7..f5593920 100644 --- a/k8s/helm-1mysql/values.yaml +++ b/k8s/helm-1mysql/values.yaml @@ -3,7 +3,7 @@ ## image: "mysql" imageTag: "5.7.30" - +Namespace: argo strategy: type: Recreate @@ -110,7 +110,7 @@ persistence: ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## - storageClass: "storage-nfs" + storageClass: "nfs-client" accessMode: ReadWriteOnce size: 10Gi annotations: {} diff --git a/k8s/helm-2redis-ha/templates/redis-haproxy-deployment.yaml b/k8s/helm-2redis-ha/templates/redis-haproxy-deployment.yaml index 6348e186..df82e947 100644 --- a/k8s/helm-2redis-ha/templates/redis-haproxy-deployment.yaml +++ b/k8s/helm-2redis-ha/templates/redis-haproxy-deployment.yaml @@ -37,7 +37,7 @@ spec: serviceAccountName: {{ template "redis-ha.serviceAccountName" . }}-haproxy {{ end }} nodeSelector: -{{ toYaml .Values.nodeSelector | indent 8 }} +{{ toYaml .Values.nodeSeletor | indent 8 }} tolerations: {{ toYaml .Values.tolerations | indent 8 }} affinity: diff --git a/k8s/helm-2redis-ha/values.yaml b/k8s/helm-2redis-ha/values.yaml index 2e72d8a9..279642b9 100644 --- a/k8s/helm-2redis-ha/values.yaml +++ b/k8s/helm-2redis-ha/values.yaml @@ -133,7 +133,7 @@ sysctlImage: command: [] registry: docker.io repository: busybox - tag: 1.31.1 + tag: 1.28 pullPolicy: Always mountHostSys: false resources: {} @@ -337,7 +337,7 @@ persistentVolume: ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## - storageClass: "storage-nfs" + storageClass: "nfs-client" accessModes: - ReadWriteOnce size: 2Gi diff --git a/k8s/k8s-12front.yaml b/k8s/k8s-12front.yaml index 638bd914..fb24fc2d 100644 --- a/k8s/k8s-12front.yaml +++ b/k8s/k8s-12front.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: ci4s-front-deployment - namespace: ci4s-test + namespace: argo spec: replicas: 1 selector: @@ -14,17 +14,17 @@ spec: app: ci4s-front spec: containers: - - name: ci4s-front - image: ci4s-front:20240126 - ports: - - containerPort: 8000 + - name: ci4s-front + image: 172.20.32.187/ci4s/ci4s-front:20240401 + ports: + - containerPort: 8000 --- apiVersion: v1 kind: Service metadata: name: ci4s-front-service - namespace: ci4s-test + namespace: argo spec: type: NodePort ports: @@ -33,3 +33,4 @@ spec: protocol: TCP selector: app: ci4s-front + diff --git a/k8s/k8s-3nacos.yaml b/k8s/k8s-3nacos.yaml index fdeea13f..0c293016 100644 --- a/k8s/k8s-3nacos.yaml +++ b/k8s/k8s-3nacos.yaml @@ -1,7 +1,7 @@ apiVersion: apps/v1 kind: Deployment metadata: - namespace: ci4s-test + namespace: argo name: nacos-ci4s labels: app: nacos-ci4s @@ -24,7 +24,7 @@ spec: - name: MODE value: standalone - name: MYSQL_SERVICE_HOST - value: mysql.ci4s-test.svc + value: mysql.argo.svc - name: MYSQL_SERVICE_PORT value: "3306" - name: MYSQL_SERVICE_DB_NAME @@ -43,7 +43,7 @@ spec: apiVersion: v1 kind: Service metadata: - namespace: ci4s-test + namespace: argo name: nacos-ci4s labels: app: nacos-ci4s diff --git a/k8s/k8s-4gateway.yaml b/k8s/k8s-4gateway.yaml index 8980676b..b0cf7991 100644 --- a/k8s/k8s-4gateway.yaml +++ b/k8s/k8s-4gateway.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: ci4s-gateway-deployment - namespace: ci4s-test + namespace: argo spec: replicas: 1 selector: @@ -15,7 +15,7 @@ spec: spec: containers: - name: ci4s-gateway - image: ci4s-gateway:v1.0 + image: 172.20.32.187/ci4s/ci4s-gateway:20240401 ports: - containerPort: 8082 @@ -24,7 +24,7 @@ apiVersion: v1 kind: Service metadata: name: ci4s-gateway-service - namespace: ci4s-test + namespace: argo spec: type: NodePort ports: diff --git a/k8s/k8s-5auth.yaml b/k8s/k8s-5auth.yaml index 596cb71a..2066bd5d 100644 --- a/k8s/k8s-5auth.yaml +++ b/k8s/k8s-5auth.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: ci4s-auth-deployment - namespace: ci4s-test + namespace: argo spec: replicas: 1 selector: @@ -15,7 +15,7 @@ spec: spec: containers: - name: ci4s-auth - image: ci4s-auth:v1.0 + image: 172.20.32.187/ci4s/ci4s-auth:20240401 ports: - containerPort: 9200 @@ -24,7 +24,7 @@ apiVersion: v1 kind: Service metadata: name: ci4s-auth-service - namespace: ci4s-test + namespace: argo spec: type: NodePort ports: diff --git a/k8s/k8s-6system.yaml b/k8s/k8s-6system.yaml index 2a11c262..8c6830bf 100644 --- a/k8s/k8s-6system.yaml +++ b/k8s/k8s-6system.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: ci4s-system-deployment - namespace: ci4s-test + namespace: argo spec: replicas: 1 selector: @@ -15,7 +15,7 @@ spec: spec: containers: - name: ci4s-system - image: ci4s-system:v1.0 + image: 172.20.32.187/ci4s/ci4s-system:20240401 ports: - containerPort: 9201 @@ -24,7 +24,7 @@ apiVersion: v1 kind: Service metadata: name: ci4s-system-service - namespace: ci4s-test + namespace: argo spec: type: NodePort ports: diff --git a/k8s/k8s-7management.yaml b/k8s/k8s-7management.yaml index 1c6b48a4..cb07a130 100644 --- a/k8s/k8s-7management.yaml +++ b/k8s/k8s-7management.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: ci4s-management-platform-deployment - namespace: ci4s-test + namespace: argo spec: replicas: 1 selector: @@ -15,20 +15,28 @@ spec: spec: containers: - name: ci4s-management-platform - image: ci4s-managent:20240110 + image: 172.20.32.187/ci4s/managent:20240401 ports: - - containerPort: 9300 + - containerPort: 9213 + volumeMounts: + - name: resource + mountPath: /home/resource/ + volumes: + - name: resource + hostPath: + path: /home/resource/ + type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: ci4s-management-platform-service - namespace: ci4s-test + namespace: argo spec: type: NodePort ports: - - port: 9300 + - port: 9213 nodePort: 31208 protocol: TCP selector: diff --git a/k8s/nginx.conf b/k8s/nginx.conf new file mode 100644 index 00000000..5c57d295 --- /dev/null +++ b/k8s/nginx.conf @@ -0,0 +1,54 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + server { + listen 8000; + server_name localhost; + + location /api/{ + rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/mmp/; + } + + location /label-studio { + rewrite ^/prod-api/(.*)$ /$1 break; + proxy_pass http://label-studio-ls-app.label-data.svc:80/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options "ALLOW-FROM http://label-studio-ls-app.label-data.svc:80/"; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/k8s/redis.tgz b/k8s/redis.tgz new file mode 100644 index 00000000..288e3db7 Binary files /dev/null and b/k8s/redis.tgz differ diff --git a/k8s/template-yaml/deploy/k8s-12front.yaml b/k8s/template-yaml/deploy/k8s-12front.yaml new file mode 100644 index 00000000..565b12ec --- /dev/null +++ b/k8s/template-yaml/deploy/k8s-12front.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-front-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-front + template: + metadata: + labels: + app: ci4s-front + spec: + containers: + - name: ci4s-front + image: 172.20.32.187/ci4s/ci4s-front:202406120836 + ports: + - containerPort: 8000 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-front-service + namespace: argo +spec: + type: NodePort + ports: + - port: 8000 + nodePort: 31213 + protocol: TCP + selector: + app: ci4s-front + diff --git a/k8s/template-yaml/deploy/k8s-7management.yaml b/k8s/template-yaml/deploy/k8s-7management.yaml new file mode 100644 index 00000000..75f1b522 --- /dev/null +++ b/k8s/template-yaml/deploy/k8s-7management.yaml @@ -0,0 +1,53 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-management-platform-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-management-platform + template: + metadata: + labels: + app: ci4s-management-platform + spec: + containers: + - name: ci4s-management-platform + image: 172.20.32.187/ci4s/ci4s-managent:202409201355 + env: + - name: TZ + value: Asia/Shanghai + - name: JAVA_TOOL_OPTIONS + value: "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005" + ports: + - containerPort: 9213 + volumeMounts: + - name: resource-volume + mountPath: /home/resource/ + volumes: + - name: resource-volume + persistentVolumeClaim: + claimName: platform-data-pvc-nfs +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-management-platform-service + namespace: argo +spec: + type: NodePort + ports: + - name: http + port: 9213 + nodePort: 31208 + protocol: TCP + - name: debug + nodePort: 34567 + port: 5005 + protocol: TCP + targetPort: 5005 + selector: + app: ci4s-management-platform + diff --git a/k8s/template-yaml/k8s-10gen.yaml b/k8s/template-yaml/k8s-10gen.yaml new file mode 100644 index 00000000..f9ae8b2f --- /dev/null +++ b/k8s/template-yaml/k8s-10gen.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-gen-deployment + namespace: ci4s-test +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-gen + template: + metadata: + labels: + app: ci4s-gen + spec: + containers: + - name: ci4s-gen + image: ${k8s-10gen-image} + ports: + - containerPort: 9202 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-gen-service + namespace: ci4s-test +spec: + type: NodePort + ports: + - port: 9202 + nodePort: 31211 + protocol: TCP + selector: + app: ci4s-gen + diff --git a/k8s/template-yaml/k8s-11visual.yaml b/k8s/template-yaml/k8s-11visual.yaml new file mode 100644 index 00000000..d479429e --- /dev/null +++ b/k8s/template-yaml/k8s-11visual.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-visual-deployment + namespace: ci4s-test +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-visual + template: + metadata: + labels: + app: ci4s-visual + spec: + containers: + - name: ci4s-visual + image: ${k8s-11visual-image} + ports: + - containerPort: 9100 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-visual-service + namespace: ci4s-test +spec: + type: NodePort + ports: + - port: 9100 + nodePort: 31212 + protocol: TCP + selector: + app: ci4s-visual + diff --git a/k8s/template-yaml/k8s-12front.yaml b/k8s/template-yaml/k8s-12front.yaml new file mode 100644 index 00000000..d37274e7 --- /dev/null +++ b/k8s/template-yaml/k8s-12front.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-front-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-front + template: + metadata: + labels: + app: ci4s-front + spec: + containers: + - name: ci4s-front + image: ${k8s-12front-image} + ports: + - containerPort: 8000 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-front-service + namespace: argo +spec: + type: NodePort + ports: + - port: 8000 + nodePort: 31213 + protocol: TCP + selector: + app: ci4s-front + diff --git a/k8s/template-yaml/k8s-3nacos.yaml b/k8s/template-yaml/k8s-3nacos.yaml new file mode 100644 index 00000000..225c6b23 --- /dev/null +++ b/k8s/template-yaml/k8s-3nacos.yaml @@ -0,0 +1,71 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: argo + name: nacos-ci4s + labels: + app: nacos-ci4s +spec: + replicas: 1 + selector: + matchLabels: + app: nacos-ci4s + template: + metadata: + labels: + app: nacos-ci4s + spec: + containers: + - name: nacos-ci4s + image: nacos/nacos-server:v2.2.0 + env: + - name: SPRING_DATASOURCE_PLATFORM + value: mysql + - name: MODE + value: standalone + - name: MYSQL_SERVICE_HOST + value: mysql.argo.svc + - name: MYSQL_SERVICE_PORT + value: "3306" + - name: MYSQL_SERVICE_DB_NAME + value: nacos-ci4s-config + - name: MYSQL_SERVICE_USER + value: root + - name: MYSQL_SERVICE_PASSWORD + value: qazxc123456. + ports: + - containerPort: 8848 + - containerPort: 9848 + - containerPort: 9849 + initContainers: + - name: init-mydb + image: busybox:1.31 + command: [ 'sh', '-c', 'nc -zv mysql.argo.svc 3306' ] + restartPolicy: Always + +--- + +apiVersion: v1 +kind: Service +metadata: + namespace: argo + name: nacos-ci4s + labels: + app: nacos-ci4s +spec: + type: NodePort + selector: + app: nacos-ci4s + ports: + - port: 8848 + targetPort: 8848 + nodePort: 31203 + name: web + - port: 9848 + targetPort: 9848 + nodePort: 32203 + name: podsa + - port: 9849 + targetPort: 9849 + nodePort: 32204 + name: tcp-9849 \ No newline at end of file diff --git a/k8s/template-yaml/k8s-4gateway.yaml b/k8s/template-yaml/k8s-4gateway.yaml new file mode 100644 index 00000000..261dfa92 --- /dev/null +++ b/k8s/template-yaml/k8s-4gateway.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-gateway-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-gateway + template: + metadata: + labels: + app: ci4s-gateway + spec: + containers: + - name: ci4s-gateway + image: ${k8s-4gateway-image} + ports: + - containerPort: 8082 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-gateway-service + namespace: argo +spec: + type: NodePort + ports: + - port: 8082 + nodePort: 31205 + protocol: TCP + selector: + app: ci4s-gateway + diff --git a/k8s/template-yaml/k8s-5auth.yaml b/k8s/template-yaml/k8s-5auth.yaml new file mode 100644 index 00000000..05a5f973 --- /dev/null +++ b/k8s/template-yaml/k8s-5auth.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-auth-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-auth + template: + metadata: + labels: + app: ci4s-auth + spec: + containers: + - name: ci4s-auth + image: ${k8s-5auth-image} + ports: + - containerPort: 9200 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-auth-service + namespace: argo +spec: + type: NodePort + ports: + - port: 9200 + nodePort: 31206 + protocol: TCP + selector: + app: ci4s-auth + diff --git a/k8s/template-yaml/k8s-6system.yaml b/k8s/template-yaml/k8s-6system.yaml new file mode 100644 index 00000000..cc17e5ea --- /dev/null +++ b/k8s/template-yaml/k8s-6system.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-system-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-system + template: + metadata: + labels: + app: ci4s-system + spec: + containers: + - name: ci4s-system + image: ${k8s-6system-image} + ports: + - containerPort: 9201 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-system-service + namespace: argo +spec: + type: NodePort + ports: + - port: 9201 + nodePort: 31207 + protocol: TCP + selector: + app: ci4s-system + diff --git a/k8s/template-yaml/k8s-7management.yaml b/k8s/template-yaml/k8s-7management.yaml new file mode 100644 index 00000000..edc1c621 --- /dev/null +++ b/k8s/template-yaml/k8s-7management.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-management-platform-deployment + namespace: argo +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-management-platform + template: + metadata: + labels: + app: ci4s-management-platform + spec: + containers: + - name: ci4s-management-platform + image: ${k8s-7management-image} + env: + - name: TZ + value: Asia/Shanghai + - name: JAVA_TOOL_OPTIONS + value: "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005" + ports: + - containerPort: 9213 + volumeMounts: + - name: resource-volume + mountPath: /home/resource/ + subPath: mini-model-platform-data + volumes: + - name: resource-volume + hostPath: + path: /platform-data +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-management-platform-service + namespace: argo +spec: + type: NodePort + ports: + - name: http + port: 9213 + nodePort: 31208 + protocol: TCP + - name: debug + nodePort: 31219 + port: 5005 + protocol: TCP + targetPort: 5005 + selector: + app: ci4s-management-platform + diff --git a/k8s/template-yaml/k8s-8file.yaml b/k8s/template-yaml/k8s-8file.yaml new file mode 100644 index 00000000..bcd2fd01 --- /dev/null +++ b/k8s/template-yaml/k8s-8file.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-file-deployment + namespace: ci4s-test +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-file + template: + metadata: + labels: + app: ci4s-file + spec: + containers: + - name: ci4s-file + image: ${k8s-8file-image} + ports: + - containerPort: 9300 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-file-service + namespace: ci4s-test +spec: + type: NodePort + ports: + - port: 9300 + nodePort: 31209 + protocol: TCP + selector: + app: ci4s-file + diff --git a/k8s/template-yaml/k8s-9job.yaml b/k8s/template-yaml/k8s-9job.yaml new file mode 100644 index 00000000..1a262cab --- /dev/null +++ b/k8s/template-yaml/k8s-9job.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ci4s-job-deployment + namespace: ci4s-test +spec: + replicas: 1 + selector: + matchLabels: + app: ci4s-job + template: + metadata: + labels: + app: ci4s-job + spec: + containers: + - name: ci4s-job + image: ${k8s-9job-image} + ports: + - containerPort: 9203 + +--- +apiVersion: v1 +kind: Service +metadata: + name: ci4s-job-service + namespace: ci4s-test +spec: + type: NodePort + ports: + - port: 9203 + nodePort: 31210 + protocol: TCP + selector: + app: ci4s-job + diff --git a/k8s/vim b/k8s/vim new file mode 100644 index 00000000..e69de29b diff --git a/react-ui/.gitignore b/react-ui/.gitignore index 82cadd2f..889039c2 100644 --- a/react-ui/.gitignore +++ b/react-ui/.gitignore @@ -40,4 +40,11 @@ screenshot build -pnpm-lock.yaml \ No newline at end of file +pnpm-lock.yaml +/src/services/codeConfig/index.js +/src/pages/CodeConfig/components/AddCodeConfigModal/index.less +/src/pages/CodeConfig/List/index.less +/src/pages/Dataset/components/ResourceItem/index.less +/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx +/src/pages/CodeConfig/components/CodeConfigItem/index.tsx +/src/pages/Dataset/components/ResourceItem/index.tsx diff --git a/react-ui/config/proxy.ts b/react-ui/config/proxy.ts index f8875e9d..93f990c1 100644 --- a/react-ui/config/proxy.ts +++ b/react-ui/config/proxy.ts @@ -29,7 +29,7 @@ export default { // pathRewrite: { '^/api': '' }, }, '/profile/avatar/': { - target: 'http://172.20.32.181:31213', + target: 'http://172.20.32.185:31213', changeOrigin: true, }, }, diff --git a/react-ui/config/routes.ts b/react-ui/config/routes.ts index 1cdbd027..189efc8a 100644 --- a/react-ui/config/routes.ts +++ b/react-ui/config/routes.ts @@ -27,6 +27,16 @@ export default [ }, ], }, + { + path: '/authorize', + layout: false, + component: './Authorize/index', + }, + { + path: '/gitlink', + layout: true, + component: './GitLink/index', + }, { path: '/user', layout: false, diff --git a/react-ui/src/app.tsx b/react-ui/src/app.tsx index e10540ea..7af61ab5 100644 --- a/react-ui/src/app.tsx +++ b/react-ui/src/app.tsx @@ -7,7 +7,6 @@ import defaultSettings from '../config/defaultSettings'; import '../public/fonts/font.css'; import { getAccessToken } from './access'; import './dayjsConfig'; -import { PageEnum } from './enums/pagesEnums'; import './global.less'; import { removeAllPageCacheState } from './hooks/pageCacheState'; import { @@ -24,6 +23,7 @@ import { type GlobalInitialState } from '@/types'; import '@/utils/clipboard'; import { menuItemRender } from '@/utils/menuRender'; import ErrorBoundary from './components/ErrorBoundary'; +import { needAuth } from './utils'; import { gotoLoginPage } from './utils/ui'; /** @@ -41,14 +41,17 @@ export async function getInitialState(): Promise { roleNames: response.user.roles, } as API.CurrentUser; } catch (error) { - console.error(error); + console.error('1111', error); gotoLoginPage(); } return undefined; }; + // 如果不是登录页面,执行 const { location } = history; - if (location.pathname !== PageEnum.LOGIN) { + + console.log('getInitialState', needAuth(location.pathname)); + if (needAuth(location.pathname)) { const currentUser = await fetchUserInfo(); return { fetchUserInfo, @@ -95,7 +98,7 @@ export const layout: RuntimeConfig['layout'] = ({ initialState }) => { onPageChange: () => { const { location } = history; // 如果没有登录,重定向到 login - if (!initialState?.currentUser && location.pathname !== PageEnum.LOGIN) { + if (!initialState?.currentUser && needAuth(location.pathname)) { gotoLoginPage(); } }, @@ -160,8 +163,8 @@ export const layout: RuntimeConfig['layout'] = ({ initialState }) => { export const onRouteChange: RuntimeConfig['onRouteChange'] = async (e) => { const { location } = e; const menus = getRemoteMenu(); - // console.log('onRouteChange', e); - if (menus === null && location.pathname !== PageEnum.LOGIN) { + console.log('onRouteChange', menus); + if (menus === null && needAuth(location.pathname)) { history.go(0); } }; @@ -171,12 +174,12 @@ export const patchRoutes: RuntimeConfig['patchRoutes'] = (e) => { }; export const patchClientRoutes: RuntimeConfig['patchClientRoutes'] = (e) => { - //console.log('patchClientRoutes', e); + console.log('patchClientRoutes', e); patchRouteWithRemoteMenus(e.routes); }; export function render(oldRender: () => void) { - // console.log('render'); + console.log('render'); const token = getAccessToken(); if (!token || token?.length === 0) { oldRender(); diff --git a/react-ui/src/components/IFramePage/index.tsx b/react-ui/src/components/IFramePage/index.tsx index c4ab9d3f..fab32ab2 100644 --- a/react-ui/src/components/IFramePage/index.tsx +++ b/react-ui/src/components/IFramePage/index.tsx @@ -12,6 +12,7 @@ export enum IframePageType { DatasetAnnotation = 'DatasetAnnotation', // 数据标注 AppDevelopment = 'AppDevelopment', // 应用开发 DevEnv = 'DevEnv', // 开发环境 + GitLink = 'GitLink', } const getRequestAPI = (type: IframePageType): (() => Promise) => { @@ -19,13 +20,15 @@ const getRequestAPI = (type: IframePageType): (() => Promise) => { case IframePageType.DatasetAnnotation: return getLabelStudioUrl; case IframePageType.AppDevelopment: - return () => Promise.resolve({ code: 200, data: 'http://172.20.32.181:30080/' }); + return () => Promise.resolve({ code: 200, data: 'http://172.20.32.185:30080/' }); case IframePageType.DevEnv: return () => Promise.resolve({ code: 200, data: SessionStorage.getItem(SessionStorage.editorUrlKey) || '', }); + case IframePageType.GitLink: + return () => Promise.resolve({ code: 200, data: 'http://172.20.32.201:4000' }); } }; diff --git a/react-ui/src/components/RightContent/AvatarDropdown.tsx b/react-ui/src/components/RightContent/AvatarDropdown.tsx index 5f8d639a..d93d4f74 100644 --- a/react-ui/src/components/RightContent/AvatarDropdown.tsx +++ b/react-ui/src/components/RightContent/AvatarDropdown.tsx @@ -1,6 +1,8 @@ import { clearSessionToken } from '@/access'; import { setRemoteMenu } from '@/services/session'; import { logout } from '@/services/system/auth'; +import { ClientInfo } from '@/types'; +import SessionStorage from '@/utils/sessionStorage'; import { gotoLoginPage } from '@/utils/ui'; import { LogoutOutlined, UserOutlined } from '@ant-design/icons'; import { setAlpha } from '@ant-design/pro-components'; @@ -64,6 +66,11 @@ const AvatarDropdown: React.FC = ({ menu }) => { clearSessionToken(); setRemoteMenu(null); gotoLoginPage(); + const clientInfo: ClientInfo = SessionStorage.getItem(SessionStorage.clientInfoKey, true); + if (clientInfo) { + const { logoutUri } = clientInfo; + location.replace(logoutUri); + } }; const actionClassName = useEmotionCss(({ token }) => { return { diff --git a/react-ui/src/components/RobotFrame/index.tsx b/react-ui/src/components/RobotFrame/index.tsx index 7905265d..1c8e8cf2 100644 --- a/react-ui/src/components/RobotFrame/index.tsx +++ b/react-ui/src/components/RobotFrame/index.tsx @@ -9,7 +9,7 @@ type RobotFrameProps = { }; function RobotFrame({ onClose, visible }: RobotFrameProps) { - const url = 'http://172.20.32.181:30080/chat/EruwZfxVgDkWdLYs'; + const url = 'http://172.20.32.185:30080/chat/EruwZfxVgDkWdLYs'; const openUrl = () => { window.open(url, '_blank'); }; diff --git a/react-ui/src/pages/Authorize/index.less b/react-ui/src/pages/Authorize/index.less new file mode 100644 index 00000000..e69de29b diff --git a/react-ui/src/pages/Authorize/index.tsx b/react-ui/src/pages/Authorize/index.tsx new file mode 100644 index 00000000..f3624f32 --- /dev/null +++ b/react-ui/src/pages/Authorize/index.tsx @@ -0,0 +1,50 @@ +import { setSessionToken } from '@/access'; +import { loginByOauth2Req } from '@/services/auth'; +import { to } from '@/utils/promise'; +import { history, useModel, useSearchParams } from '@umijs/max'; +import { message } from 'antd'; +import { useEffect } from 'react'; +import { flushSync } from 'react-dom'; +import styles from './index.less'; + +function Authorize() { + const { initialState, setInitialState } = useModel('@@initialState'); + const [searchParams] = useSearchParams(); + const code = searchParams.get('code'); + const redirect = searchParams.get('redirect'); + useEffect(() => { + loginByOauth2(); + }, []); + + // 登录 + const loginByOauth2 = async () => { + const params = { + code, + }; + const [res] = await to(loginByOauth2Req(params)); + debugger; + if (res && res.data) { + const { access_token, expires_in } = res.data; + setSessionToken(access_token, access_token, expires_in); + message.success('登录成功!'); + await fetchUserInfo(); + history.push(redirect || '/'); + } + }; + + const fetchUserInfo = async () => { + const userInfo = await initialState?.fetchUserInfo?.(); + if (userInfo) { + flushSync(() => { + setInitialState((s) => ({ + ...s, + currentUser: userInfo, + })); + }); + } + }; + + return
; +} + +export default Authorize; diff --git a/react-ui/src/pages/Experiment/components/LogGroup/index.tsx b/react-ui/src/pages/Experiment/components/LogGroup/index.tsx index 27f3354c..b9a93e8f 100644 --- a/react-ui/src/pages/Experiment/components/LogGroup/index.tsx +++ b/react-ui/src/pages/Experiment/components/LogGroup/index.tsx @@ -135,7 +135,7 @@ function LogGroup({ const setupSockect = () => { let { host } = location; if (process.env.NODE_ENV === 'development') { - host = '172.20.32.181:31213'; + host = '172.20.32.185:31213'; } const socket = new WebSocket( `ws://${host}/newlog/realtimeLog?start=${start_time}&query={pod="${pod_name}"}`, diff --git a/react-ui/src/pages/GitLink/index.tsx b/react-ui/src/pages/GitLink/index.tsx new file mode 100644 index 00000000..8646926d --- /dev/null +++ b/react-ui/src/pages/GitLink/index.tsx @@ -0,0 +1,7 @@ +import IframePage, { IframePageType } from '@/components/IFramePage'; + +function GitLink() { + return ; +} + +export default GitLink; diff --git a/react-ui/src/pages/User/Login/index.tsx b/react-ui/src/pages/User/Login/index.tsx index 9ef18148..86d56ff6 100644 --- a/react-ui/src/pages/User/Login/index.tsx +++ b/react-ui/src/pages/User/Login/index.tsx @@ -1,11 +1,12 @@ import { clearSessionToken, setSessionToken } from '@/access'; +import { getClientInfoReq } from '@/services/auth'; import { getCaptchaImg, login } from '@/services/system/auth'; -import { parseJsonText } from '@/utils'; -import { safeInvoke } from '@/utils/functional'; import LocalStorage from '@/utils/localStorage'; import { to } from '@/utils/promise'; +import SessionStorage from '@/utils/sessionStorage'; +import { gotoOAuth2 } from '@/utils/ui'; import { history, useModel } from '@umijs/max'; -import { Button, Checkbox, Flex, Form, Image, Input, message, type InputRef } from 'antd'; +import { Form, message, type InputRef } from 'antd'; import CryptoJS from 'crypto-js'; import { useEffect, useRef, useState } from 'react'; import { flushSync } from 'react-dom'; @@ -31,25 +32,35 @@ const Login = () => { const captchaInputRef = useRef(null); useEffect(() => { - getCaptchaCode(); - const autoLogin = LocalStorage.getItem(LocalStorage.rememberPasswordKey) ?? 'false'; - if (autoLogin === 'true') { - const userStorage = LocalStorage.getItem(LocalStorage.loginUserKey); - const userJson = safeInvoke((text: string) => - CryptoJS.AES.decrypt(text, AESKEY).toString(CryptoJS.enc.Utf8), - )(userStorage); - const user = safeInvoke(parseJsonText)(userJson); - if (user && typeof user === 'object' && user.version === VERSION) { - const { username, password } = user; - form.setFieldsValue({ username: username, password: password, autoLogin: true }); - } else { - form.setFieldsValue({ username: '', password: '', autoLogin: true }); - LocalStorage.removeItem(LocalStorage.loginUserKey); - } - } else { - form.setFieldsValue({ username: '', password: '', autoLogin: false }); - } + // getCaptchaCode(); + // const autoLogin = LocalStorage.getItem(LocalStorage.rememberPasswordKey) ?? 'false'; + // if (autoLogin === 'true') { + // const userStorage = LocalStorage.getItem(LocalStorage.loginUserKey); + // const userJson = safeInvoke((text: string) => + // CryptoJS.AES.decrypt(text, AESKEY).toString(CryptoJS.enc.Utf8), + // )(userStorage); + // const user = safeInvoke(parseJsonText)(userJson); + // if (user && typeof user === 'object' && user.version === VERSION) { + // const { username, password } = user; + // form.setFieldsValue({ username: username, password: password, autoLogin: true }); + // } else { + // form.setFieldsValue({ username: '', password: '', autoLogin: true }); + // LocalStorage.removeItem(LocalStorage.loginUserKey); + // } + // } else { + // form.setFieldsValue({ username: '', password: '', autoLogin: false }); + // } + getClientInfo(); }, []); + const getClientInfo = async () => { + const [res] = await to(getClientInfoReq()); + if (res && res.data) { + const clientInfo = res.data; + SessionStorage.setItem(SessionStorage.clientInfoKey, clientInfo, true); + gotoOAuth2(); + } + }; + const getCaptchaCode = async () => { const [res] = await to(getCaptchaImg()); if (res) { @@ -71,6 +82,12 @@ const Login = () => { } }; + const handleSubmit2 = async (values: API.LoginParams) => { + const url = + 'http://172.20.32.106:8080/oauth/authorize?client_id=ci4s&response_type=code&grant_type=authorization_code'; + window.location.href = url; + }; + // 登录 const handleSubmit = async (values: API.LoginParams) => { const [res, error] = await to(login({ ...values, uuid })); @@ -109,113 +126,115 @@ const Login = () => { } }; - return ( -
-
-
- - 智能材料科研平台 -
-
- 智能材料科研平台 - -
-
- 大语言模型运维 统一管理平台 -
- -
-
-
-
- 欢迎登录 - 智能材料科研平台 -
-
-
账号登录
-
-
- - } - allowClear - /> - - - - } - allowClear - /> - - - -
- - - } - ref={captchaInputRef} - allowClear - /> - -
- 验证码 getCaptchaCode()} - /> -
- - - 记住密码 - - - - - -
-
-
-
-
-
- ); + return
; + + // return ( + //
+ //
+ //
+ // + // 智能材料科研平台 + //
+ //
+ // 智能材料科研平台 + // + //
+ //
+ // 大语言模型运维 统一管理平台 + //
+ // + //
+ //
+ //
+ //
+ // 欢迎登录 + // 智能材料科研平台 + //
+ //
+ //
账号登录
+ //
+ //
+ // + // } + // allowClear + // /> + // + + // + // } + // allowClear + // /> + // + + // + //
+ // + // + // } + // ref={captchaInputRef} + // allowClear + // /> + // + //
+ // 验证码 getCaptchaCode()} + // /> + //
+ + // + // 记住密码 + // + + // + // + // + //
+ //
+ //
+ //
+ //
+ //
+ // ); }; export default Login; diff --git a/react-ui/src/pages/User/Login/login.tsx b/react-ui/src/pages/User/Login/login.tsx new file mode 100644 index 00000000..9ef18148 --- /dev/null +++ b/react-ui/src/pages/User/Login/login.tsx @@ -0,0 +1,221 @@ +import { clearSessionToken, setSessionToken } from '@/access'; +import { getCaptchaImg, login } from '@/services/system/auth'; +import { parseJsonText } from '@/utils'; +import { safeInvoke } from '@/utils/functional'; +import LocalStorage from '@/utils/localStorage'; +import { to } from '@/utils/promise'; +import { history, useModel } from '@umijs/max'; +import { Button, Checkbox, Flex, Form, Image, Input, message, type InputRef } from 'antd'; +import CryptoJS from 'crypto-js'; +import { useEffect, useRef, useState } from 'react'; +import { flushSync } from 'react-dom'; +import styles from './login.less'; + +const VERSION = 1; +const AESKEY = 'OPENSOURCETECHNOLOGYCENTER'; + +const LoginInputPrefix = ({ icon }: { icon: string }) => { + return ( +
+ +
+
+ ); +}; + +const Login = () => { + const { initialState, setInitialState } = useModel('@@initialState'); + const [captchaCode, setCaptchaCode] = useState(''); + const [uuid, setUuid] = useState(''); + const [form] = Form.useForm(); + const captchaInputRef = useRef(null); + + useEffect(() => { + getCaptchaCode(); + const autoLogin = LocalStorage.getItem(LocalStorage.rememberPasswordKey) ?? 'false'; + if (autoLogin === 'true') { + const userStorage = LocalStorage.getItem(LocalStorage.loginUserKey); + const userJson = safeInvoke((text: string) => + CryptoJS.AES.decrypt(text, AESKEY).toString(CryptoJS.enc.Utf8), + )(userStorage); + const user = safeInvoke(parseJsonText)(userJson); + if (user && typeof user === 'object' && user.version === VERSION) { + const { username, password } = user; + form.setFieldsValue({ username: username, password: password, autoLogin: true }); + } else { + form.setFieldsValue({ username: '', password: '', autoLogin: true }); + LocalStorage.removeItem(LocalStorage.loginUserKey); + } + } else { + form.setFieldsValue({ username: '', password: '', autoLogin: false }); + } + }, []); + const getCaptchaCode = async () => { + const [res] = await to(getCaptchaImg()); + if (res) { + const imgdata = `data:image/png;base64,${res.img}`; + setCaptchaCode(imgdata); + setUuid(res.uuid); + } + }; + + const fetchUserInfo = async () => { + const userInfo = await initialState?.fetchUserInfo?.(); + if (userInfo) { + flushSync(() => { + setInitialState((s) => ({ + ...s, + currentUser: userInfo, + })); + }); + } + }; + + // 登录 + const handleSubmit = async (values: API.LoginParams) => { + const [res, error] = await to(login({ ...values, uuid })); + if (res && res.data) { + const current = new Date(); + const expireTime = current.setTime(current.getTime() + 1000 * 12 * 60 * 60); + const { access_token } = res.data; + setSessionToken(access_token, access_token, expireTime); + message.success('登录成功!'); + + LocalStorage.setItem(LocalStorage.rememberPasswordKey, values.autoLogin ? 'true' : 'false'); + if (values.autoLogin) { + const user = { + username: values.username, + password: values.password, + version: VERSION, + }; + const encrypted = CryptoJS.AES.encrypt(JSON.stringify(user), AESKEY).toString(); + LocalStorage.setItem(LocalStorage.loginUserKey, encrypted); + } else { + LocalStorage.removeItem(LocalStorage.loginUserKey); + } + + await fetchUserInfo(); + const urlParams = new URL(window.location.href).searchParams; + history.push(urlParams.get('redirect') || '/'); + } else { + if (error?.data?.code === 500 && error?.data?.msg === '验证码错误') { + captchaInputRef.current?.focus({ + cursor: 'all', + }); + } + + clearSessionToken(); + getCaptchaCode(); + } + }; + + return ( +
+
+
+ + 智能材料科研平台 +
+
+ 智能材料科研平台 + +
+
+ 大语言模型运维 统一管理平台 +
+ +
+
+
+
+ 欢迎登录 + 智能材料科研平台 +
+
+
账号登录
+
+
+ + } + allowClear + /> + + + + } + allowClear + /> + + + +
+ + + } + ref={captchaInputRef} + allowClear + /> + +
+ 验证码 getCaptchaCode()} + /> +
+ + + 记住密码 + + + + + +
+
+
+
+
+
+ ); +}; + +export default Login; diff --git a/react-ui/src/services/auth/index.js b/react-ui/src/services/auth/index.js new file mode 100644 index 00000000..853ad6ab --- /dev/null +++ b/react-ui/src/services/auth/index.js @@ -0,0 +1,16 @@ +import { request } from '@umijs/max'; + +// 单点登录 +export function loginByOauth2Req(data) { + return request(`/api/auth/loginByOauth2`, { + method: 'POST', + data, + }); +} + +// 登录获取客户端信息 +export function getClientInfoReq() { + return request(`/api/auth/oauth2ClientInfo`, { + method: 'GET', + }); +} \ No newline at end of file diff --git a/react-ui/src/types.ts b/react-ui/src/types.ts index 40348fab..a7df0561 100644 --- a/react-ui/src/types.ts +++ b/react-ui/src/types.ts @@ -7,6 +7,17 @@ import { ExperimentStatus, TensorBoardStatus } from '@/enums'; import type { Settings as LayoutSettings } from '@ant-design/pro-components'; +export type ClientInfo = { + accessTokenUri: string; + checkTokenUri: string; + clientId: string; + clientSecret: string; + loginPage: string; + logoutUri: string; + redirectUri: string; + userAuthorizationUri: string; +}; + // 全局初始状态类型 export type GlobalInitialState = { settings?: Partial; @@ -14,6 +25,7 @@ export type GlobalInitialState = { fetchUserInfo?: () => Promise; loading?: boolean; collapsed?: boolean; + clientInfo?: ClientInfo; }; // 流水线全局参数 diff --git a/react-ui/src/utils/sessionStorage.ts b/react-ui/src/utils/sessionStorage.ts index 41117e1e..8ffa8836 100644 --- a/react-ui/src/utils/sessionStorage.ts +++ b/react-ui/src/utils/sessionStorage.ts @@ -9,6 +9,8 @@ export default class SessionStorage { static readonly serviceVersionInfoKey = 'service-version-info'; // 编辑器 url static readonly editorUrlKey = 'editor-url'; + // 客户端信息 + static readonly clientInfoKey = 'client-info'; static getItem(key: string, isObject: boolean = false) { const jsonStr = sessionStorage.getItem(key); diff --git a/react-ui/src/utils/ui.tsx b/react-ui/src/utils/ui.tsx index 6c8dfb39..c3d2c44a 100644 --- a/react-ui/src/utils/ui.tsx +++ b/react-ui/src/utils/ui.tsx @@ -6,9 +6,11 @@ import { PageEnum } from '@/enums/pagesEnums'; import { removeAllPageCacheState } from '@/hooks/pageCacheState'; import themes from '@/styles/theme.less'; +import { type ClientInfo } from '@/types'; import { history } from '@umijs/max'; import { Modal, message, type ModalFuncProps, type UploadFile } from 'antd'; import { closeAllModals } from './modal'; +import SessionStorage from './sessionStorage'; type ModalConfirmProps = ModalFuncProps & { isDelete?: boolean; @@ -86,6 +88,15 @@ export const gotoLoginPage = (toHome: boolean = true) => { } }; +export const gotoOAuth2 = () => { + const clientInfo = SessionStorage.getItem(SessionStorage.clientInfoKey, true) as ClientInfo; + if (clientInfo) { + const { clientId, userAuthorizationUri } = clientInfo; + const url = `${userAuthorizationUri}?client_id=${clientId}&response_type=code&grant_type=authorization_code`; + location.replace(url); + } +}; + /** * 验证文件上传 * diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/config/Oauth2ClientProperties.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/config/Oauth2ClientProperties.java new file mode 100644 index 00000000..848f2fee --- /dev/null +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/config/Oauth2ClientProperties.java @@ -0,0 +1,25 @@ +package com.ruoyi.auth.config; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +@Configuration +@RefreshScope +@ConfigurationProperties(prefix = "oauth2") +@Getter +@Setter +public class Oauth2ClientProperties { + + private String clientId; + private String clientSecret; + private String scope; + private String userAuthorizationUri; + private String accessTokenUri; + private String redirectUri; + private String logoutUri; + private String checkTokenUri; + private String loginPage; +} diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index c53e91a3..4681a385 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -2,12 +2,19 @@ package com.ruoyi.auth.controller; import javax.servlet.http.HttpServletRequest; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.auth.config.Oauth2ClientProperties; +import com.ruoyi.auth.form.AccessTokenVo; import com.ruoyi.auth.form.LoginKeyBody; +import com.ruoyi.common.core.exception.ServiceException; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.*; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.auth.service.SysLoginService; @@ -18,6 +25,9 @@ import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.model.LoginUser; +import org.springframework.web.client.RestTemplate; + +import java.util.Map; /** * token 控制 @@ -33,6 +43,9 @@ public class TokenController @Autowired private SysLoginService sysLoginService; + @Autowired + private Oauth2ClientProperties oauth2ClientProperties; + @PostMapping("login") public R login(@RequestBody LoginBody form) { @@ -51,6 +64,64 @@ public class TokenController return R.ok(tokenService.createToken(userInfo)); } + @PostMapping("loginByOauth2") + public R loginByOauth2(@RequestBody Map params) + /** + * { + * "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiZGVtby1hcHAiXSwiZXhwIjoxNzI5MTU0MTExLCJ1c2VyX25hbWUiOiJhZG1pbiIsImp0aSI6IjQzNGVkNmI0LWIzN2MtNDliMS04NTczLWZhNmU4YTg5YTUxYSIsImNsaWVudF9pZCI6IkFCQyIsInNjb3BlIjpbInJlYWQiLCJ3cml0ZSJdfQ.U591q4fUaUBtBt5Ex-S2daM7DIl9-Ov0MsveymNfHxI", + * "token_type": "bearer", + * "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiZGVtby1hcHAiXSwidXNlcl9uYW1lIjoiYWRtaW4iLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwiYXRpIjoiNDM0ZWQ2YjQtYjM3Yy00OWIxLTg1NzMtZmE2ZThhODlhNTFhIiwiZXhwIjoxNzMxNjQ5OTY4LCJqdGkiOiJiODFhNmJkMC02ZDQzLTQ4M2QtOThmMy1hZWIxNDcyZDUwNzciLCJjbGllbnRfaWQiOiJBQkMifQ.0uMYVqW1G7j0chwxIdWGwpjDr12ogZPcD1iQfPsAs5k", + * "expires_in": 7198, + * "scope": "read write", + * "account_info": { + * "id": 1, + * "clientId": "ABC", + * "username": "admin", + * "mobile": "1232378743", + * "email": "abc@123.com" + * } + * } + */ + { + if (params.containsKey("code") && StringUtils.isNotBlank(params.get("code"))){ + RestTemplate restTemplate = new RestTemplate(); + String url = oauth2ClientProperties.getAccessTokenUri(); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + MultiValueMap map= new LinkedMultiValueMap<>(); + map.add("grant_type", "authorization_code"); + map.add("code", params.get("code")); + map.add("redirect_uri", oauth2ClientProperties.getRedirectUri()); + map.add("client_id", oauth2ClientProperties.getClientId()); + map.add("client_secret", oauth2ClientProperties.getClientSecret()); + + HttpEntity> request = new HttpEntity<>(map, headers); + ResponseEntity response = restTemplate.postForEntity(url, request, String.class); + String body = response.getBody(); + + AccessTokenVo accessTokenVo = JSON.parseObject(body, AccessTokenVo.class); + String accessToken = accessTokenVo.getAccess_token(); + AccessTokenVo.Account_info accountInfo = accessTokenVo.getAccount_info(); + + // 用户登录 + LoginUser userInfo = sysLoginService.login(accountInfo); + // 获取登录token + Map token = tokenService.createToken(userInfo); + token.put("checkTokenUri",oauth2ClientProperties.getCheckTokenUri()); + token.put("logoutUri",oauth2ClientProperties.getLogoutUri()); + token.put("oauth2AccessToken",accessToken); + return R.ok(token); + } + + throw new ServiceException("用户信息获取失败"); + } + + + @GetMapping("oauth2ClientInfo") + public R getClientInfo() { + return R.ok(JSON.toJSON(oauth2ClientProperties)); + } + @DeleteMapping("logout") public R logout(HttpServletRequest request) { diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/form/AccessTokenVo.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/form/AccessTokenVo.java new file mode 100644 index 00000000..2d47e1fc --- /dev/null +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/form/AccessTokenVo.java @@ -0,0 +1,119 @@ +package com.ruoyi.auth.form; + +import java.io.Serializable; +import java.lang.Integer; +import java.lang.String; + +public class AccessTokenVo implements Serializable { + private String access_token; + + private String refresh_token; + + private String scope; + + private Account_info account_info; + + private String token_type; + + private Integer expires_in; + + public String getAccess_token() { + return this.access_token; + } + + public void setAccess_token(String access_token) { + this.access_token = access_token; + } + + public String getRefresh_token() { + return this.refresh_token; + } + + public void setRefresh_token(String refresh_token) { + this.refresh_token = refresh_token; + } + + public String getScope() { + return this.scope; + } + + public void setScope(String scope) { + this.scope = scope; + } + + public Account_info getAccount_info() { + return this.account_info; + } + + public void setAccount_info(Account_info account_info) { + this.account_info = account_info; + } + + public String getToken_type() { + return this.token_type; + } + + public void setToken_type(String token_type) { + this.token_type = token_type; + } + + public Integer getExpires_in() { + return this.expires_in; + } + + public void setExpires_in(Integer expires_in) { + this.expires_in = expires_in; + } + + public static class Account_info implements Serializable { + private String clientId; + + private String mobile; + + private Integer id; + + private String email; + + private String username; + + public String getClientId() { + return this.clientId; + } + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + public String getMobile() { + return this.mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getEmail() { + return this.email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + } +} diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 1bf324a3..2e1a57e8 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -1,5 +1,6 @@ package com.ruoyi.auth.service; +import com.ruoyi.auth.form.AccessTokenVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.ruoyi.common.core.constant.CacheConstants; @@ -193,4 +194,62 @@ public class SysLoginService } return userInfo; } + + public LoginUser login(AccessTokenVo.Account_info accountInfo) { + + String username = accountInfo.getUsername(); + + // 用户名或密码为空 错误 + if (StringUtils.isAnyBlank(username)) + { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写"); + throw new ServiceException("用户/密码必须填写"); + } + + // 用户名不在指定范围内 错误 + if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) + { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围"); + throw new ServiceException("用户名不在指定范围"); + } + // IP黑名单校验 + String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST)); + if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) + { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单"); + throw new ServiceException("很遗憾,访问IP已被列入系统黑名单"); + } + // 查询用户信息 + R userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + + if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) + { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在"); + throw new ServiceException("登录用户:" + username + " 不存在"); + // register(username, "123456"); +// userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + } + + if (R.FAIL == userResult.getCode()) + { + throw new ServiceException(userResult.getMsg()); + } + + LoginUser userInfo = userResult.getData(); + SysUser user = userResult.getData().getSysUser(); + if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) + { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除"); + throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); + } + if (UserStatus.DISABLE.getCode().equals(user.getStatus())) + { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员"); + throw new ServiceException("对不起,您的账号:" + username + " 已停用"); + } + + recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); + return userInfo; + } } diff --git a/ruoyi-auth/src/main/resources/bootstrap.yml b/ruoyi-auth/src/main/resources/bootstrap.yml index a6607611..4dfb267d 100644 --- a/ruoyi-auth/src/main/resources/bootstrap.yml +++ b/ruoyi-auth/src/main/resources/bootstrap.yml @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml index cce74447..bcfd24d8 100644 --- a/ruoyi-gateway/src/main/resources/bootstrap.yml +++ b/ruoyi-gateway/src/main/resources/bootstrap.yml @@ -3,7 +3,7 @@ server: port: 8082 # Spring -spring: +spring: application: # 应用名称 name: ruoyi-gateway @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -42,7 +44,7 @@ spring: datasource: ds1: nacos: - server-addr: nacos-ci4s.ci4s-test.svc:18848 + server-addr: 172.20.32.181:18848 dataId: sentinel-ruoyi-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/ruoyi-modules/management-platform/pom.xml b/ruoyi-modules/management-platform/pom.xml index e7c559fd..cee6c681 100644 --- a/ruoyi-modules/management-platform/pom.xml +++ b/ruoyi-modules/management-platform/pom.xml @@ -243,6 +243,11 @@ 3.6.0 + + cn.hutool + hutool-all + 5.8.5 + diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/RuoYiManagementPlatformApplication.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/RuoYiManagementPlatformApplication.java index b3b22ac9..a950808a 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/RuoYiManagementPlatformApplication.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/RuoYiManagementPlatformApplication.java @@ -5,6 +5,7 @@ import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; /** @@ -17,6 +18,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @EnableRyFeignClients @SpringBootApplication @EnableScheduling +@EnableAsync public class RuoYiManagementPlatformApplication { public static void main(String[] args) { SpringApplication.run(RuoYiManagementPlatformApplication.class, args); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java index 0c7a09fc..834f63e4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java @@ -10,12 +10,29 @@ public class Constant { public final static int State_valid = 1; // 有效 public final static int State_invalid = 0; // 无效 + public final static int State_building = 2; //创建中 + public final static int State_failed = 3; //运行失败 public final static int Used_State_used = 1; // 已占用 public final static int Used_State_unused = 0; // 未占用 public final static String Computing_Resource_CPU = "CPU"; // 计算资源_CPU - public final static String Computing_Resource_GPU = "GPU"; // 计算资源_GPU + + public final static int Git_Category_Id = 39; + + public final static String Source_Auto_Export = "auto_export"; + public final static String Source_Hand_Export = "hand_export"; + public final static String Source_Add = "add"; + + public final static String Running = "Running"; + public final static String Failed = "Failed"; + public final static String Pending = "Pending"; + public final static String Init = "Init"; + public final static String Stopped = "Stopped"; + public final static String Succeeded = "Succeeded"; + + public final static String Type_Train = "train"; + public final static String Type_Evaluate = "evaluate"; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/aim/AimController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/aim/AimController.java index f6b0b863..9390e156 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/aim/AimController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/aim/AimController.java @@ -1,11 +1,10 @@ package com.ruoyi.platform.controller.aim; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.domain.GenericsAjaxResult; import com.ruoyi.platform.service.AimService; -import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.platform.vo.InsMetricInfoVo; -import com.ruoyi.platform.vo.PodStatusVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -26,21 +25,25 @@ public class AimController extends BaseController { @GetMapping("/getExpTrainInfos/{experiment_id}") @ApiOperation("获取当前实验的模型训练指标信息") @ApiResponse - public GenericsAjaxResult> getExpTrainInfos(@PathVariable("experiment_id") Integer experimentId) throws Exception { - return genericsSuccess(aimService.getExpTrainInfos(experimentId)); + public AjaxResult getExpTrainInfos(@RequestParam(value = "page") int page, + @RequestParam(value = "size") int size, + @PathVariable("experiment_id") Integer experimentId) { + return AjaxResult.success(aimService.getExpInfos(true, experimentId, page, size)); } @GetMapping("/getExpEvaluateInfos/{experiment_id}") @ApiOperation("获取当前实验的模型推理指标信息") @ApiResponse - public GenericsAjaxResult> getExpEvaluateInfos(@PathVariable("experiment_id") Integer experimentId) throws Exception { - return genericsSuccess(aimService.getExpEvaluateInfos(experimentId)); + public AjaxResult getExpEvaluateInfos(@RequestParam(value = "page") int page, + @RequestParam(value = "size") int size, + @PathVariable("experiment_id") Integer experimentId) { + return AjaxResult.success(aimService.getExpInfos(false, experimentId, page, size)); } @PostMapping("/getExpMetrics") @ApiOperation("获取当前实验的指标对比地址") @ApiResponse public GenericsAjaxResult getExpMetrics(@RequestBody List runIds) throws Exception { - return genericsSuccess(aimService.getExpMetrics(runIds)); + return genericsSuccess(aimService.getExpMetrics(runIds)); } } \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetTempStorageController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetTempStorageController.java new file mode 100644 index 00000000..0b1418da --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetTempStorageController.java @@ -0,0 +1,84 @@ +package com.ruoyi.platform.controller.dataset; + +import com.ruoyi.platform.domain.DatasetTempStorage; +import com.ruoyi.platform.service.DatasetTempStorageService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 数据集暂存的数据(DatasetTempStorage)表控制层 + * + * @author makejava + * @since 2024-09-12 09:42:09 + */ +@RestController +@RequestMapping("datasetTempStorage") +public class DatasetTempStorageController { + /** + * 服务对象 + */ + @Resource + private DatasetTempStorageService datasetTempStorageService; + + /** + * 分页查询 + * + * @param datasetTempStorage 筛选条件 + * @param pageRequest 分页对象 + * @return 查询结果 + */ + @GetMapping + public ResponseEntity> queryByPage(DatasetTempStorage datasetTempStorage, PageRequest pageRequest) { + return ResponseEntity.ok(this.datasetTempStorageService.queryByPage(datasetTempStorage, pageRequest)); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + public ResponseEntity queryById(@PathVariable("id") Integer id) { + return ResponseEntity.ok(this.datasetTempStorageService.queryById(id)); + } + + /** + * 新增数据 + * + * @param datasetTempStorage 实体 + * @return 新增结果 + */ + @PostMapping + public ResponseEntity add(DatasetTempStorage datasetTempStorage) { + return ResponseEntity.ok(this.datasetTempStorageService.insert(datasetTempStorage)); + } + + /** + * 编辑数据 + * + * @param datasetTempStorage 实体 + * @return 编辑结果 + */ + @PutMapping + public ResponseEntity edit(DatasetTempStorage datasetTempStorage) { + return ResponseEntity.ok(this.datasetTempStorageService.update(datasetTempStorage)); + } + + /** + * 删除数据 + * + * @param id 主键 + * @return 删除是否成功 + */ + @DeleteMapping + public ResponseEntity deleteById(Integer id) { + return ResponseEntity.ok(this.datasetTempStorageService.deleteById(id)); + } + +} + diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java index 636154db..62f5122a 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java @@ -2,9 +2,8 @@ package com.ruoyi.platform.controller.dataset; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.platform.domain.Dataset; -import com.ruoyi.platform.service.DatasetService; -import com.ruoyi.platform.vo.DatasetVo; -import io.swagger.annotations.Api; +import com.ruoyi.platform.service.NewDatasetService; +import com.ruoyi.platform.vo.NewDatasetVo; import io.swagger.annotations.ApiOperation; import org.springframework.core.io.InputStreamResource; import org.springframework.data.domain.PageRequest; @@ -13,16 +12,18 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + @RestController @RequestMapping("newdataset") -@Api(value = "新数据集管理") +//@Api(value = "新数据集管理") public class NewDatasetFromGitController { /** * 服务对象 */ @Resource - private DatasetService datasetService; - + private NewDatasetService newDatasetService; /** @@ -33,8 +34,8 @@ public class NewDatasetFromGitController { */ @PostMapping("/addDatasetAndVersion") @ApiOperation("添加数据集和版本") - public AjaxResult addDatasetAndVersion(@RequestBody DatasetVo datasetVo) throws Exception { - return AjaxResult.success(this.datasetService.newCreateDataset(datasetVo)); + public AjaxResult addDatasetAndVersion(@RequestBody NewDatasetVo datasetVo) throws Exception { + return AjaxResult.success(this.newDatasetService.newCreateDataset(datasetVo)); } @@ -47,69 +48,104 @@ public class NewDatasetFromGitController { */ @PostMapping("/addVersion") @ApiOperation("添加版本") - public AjaxResult addVersion(@RequestBody DatasetVo datasetVo) throws Exception { - return AjaxResult.success(this.datasetService.newCreateVersion(datasetVo)); + public AjaxResult addVersion(@RequestBody NewDatasetVo datasetVo) throws Exception { + return AjaxResult.success(this.newDatasetService.newCreateVersion(datasetVo)); } + @GetMapping("/queryDatasets") + @ApiOperation("数据集广场公开数据集分页查询,根据data_type,data_tag筛选,true公开false私有") + public AjaxResult queryDatasets(@RequestParam("page") int page, + @RequestParam("size") int size, + @RequestParam(value = "is_public") Boolean isPublic, + @RequestParam(value = "data_type", required = false) String dataType, + @RequestParam(value = "data_tag", required = false) String dataTag, + @RequestParam(value = "name", required = false) String name) throws Exception { + PageRequest pageRequest = PageRequest.of(page, size); + Dataset dataset = new Dataset(); + dataset.setDataTag(dataTag); + dataset.setDataType(dataType); + dataset.setName(name); + if (isPublic) { + return AjaxResult.success(this.newDatasetService.newPubilcQueryByPage(dataset, pageRequest)); + } else { + return AjaxResult.success(this.newDatasetService.newPersonalQueryByPage(dataset, pageRequest)); + } + } + + @GetMapping("/getVersionList") + @ApiOperation(value = "获取分支列表") + public AjaxResult getVersionList(@RequestParam("identifier") String repo, @RequestParam("owner") String owner) throws Exception { + return AjaxResult.success(this.newDatasetService.getVersionList(repo, owner)); + } + + @GetMapping("/getDatasetDetail") + @ApiOperation(value = "获取数据集详情") + public AjaxResult getDatasetVersions(@RequestParam("name") String name, + @RequestParam("id") Integer id, + @RequestParam(value = "owner", required = false) String owner, + @RequestParam(value = "identifier", required = false) String identifier, + @RequestParam(value = "version", required = false) String version) throws Exception { + return AjaxResult.success(this.newDatasetService.getNewDatasetDesc(id, name, identifier, owner, version)); + } + + @DeleteMapping("/deleteDataset") + @ApiOperation(value = "删除数据集") + public AjaxResult deleteDataset(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("owner") String owner) throws Exception { + this.newDatasetService.deleteDatasetNew(id, identifier, owner); + return AjaxResult.success(); + } + + @DeleteMapping("/deleteDatasetVersion") + @ApiOperation(value = "删除数据集版本") + public AjaxResult deleteDatasetVersion(@RequestParam("identifier") String repo, @RequestParam("owner") String owner, @RequestParam("version") String version, + @RequestParam("relative_paths") String relativePaths) throws Exception { + // 查询版本,如果是最后一个版本,则不能删除 + List> versionList = this.newDatasetService.getVersionList(repo, owner); + if (versionList.size() == 1) { + return AjaxResult.error("当前数据集只有一个版本,不能删除该版本"); + } + this.newDatasetService.deleteDatasetVersionNew(repo, owner, version, relativePaths); + return AjaxResult.success(); + } + /** * 上传数据集 * * @param files 上传的数据集文件 - * @param uuid 上传唯一标识,构建url + * @param uuid 上传唯一标识,构建url * @return 上传结果 */ @CrossOrigin(origins = "*", allowedHeaders = "*") @PostMapping("/upload") @ApiOperation(value = "上传数据集") public AjaxResult uploadDataset(@RequestParam("file") MultipartFile[] files, @RequestParam("uuid") String uuid) throws Exception { - return AjaxResult.success(this.datasetService.uploadDatasetlocal(files,uuid)); + return AjaxResult.success(this.newDatasetService.uploadDatasetlocal(files, uuid)); } /** * 数据集打包下载 * - * @param version 数据集版本 + * @param version 数据集版本 * @return 单条数据 */ @GetMapping("/downloadAllFiles") @ApiOperation(value = "下载同一版本下所有数据集,并打包") - public ResponseEntity downloadAllDatasetFiles(@RequestParam("repository_name") String repositoryName, @RequestParam("version") String version) throws Exception { - return datasetService.downloadAllDatasetFilesNew(repositoryName, version); + public ResponseEntity downloadAllDatasetFiles(@RequestParam("name") String name, @RequestParam("identifier") String identifier, @RequestParam("id") Integer id, @RequestParam("version") String version) throws Exception { + return newDatasetService.downloadAllDatasetFilesNew(name, identifier, id, version); } /** * 下载数据集 * - * @param dataset_version_id ps:这里的id是dataset_version表的主键 + * @param url ps:路径 * @return 单条数据 */ - @GetMapping("/download/{dataset_version_id}") + @GetMapping("/downloadSingleFile") @ApiOperation(value = "下载单个数据集文件", notes = "根据数据集版本表id下载单个数据集文件") - public ResponseEntity downloadDataset(@PathVariable("dataset_version_id") Integer dataset_version_id) throws Exception { - return datasetService.downloadDataset(dataset_version_id); - } - - @GetMapping("/queryDatasets") - @ApiOperation("数据集广场公开数据集分页查询,根据data_type,data_tag筛选,true公开false私有") - public AjaxResult queryDatasets(Dataset dataset, @RequestParam("page") int page, - @RequestParam("size") int size, - @RequestParam(value = "is_public") Boolean isPublic, - @RequestParam(value = "data_type", required = false) String dataType, - @RequestParam(value = "data_tag", required = false) String dataTag) throws Exception { - PageRequest pageRequest = PageRequest.of(page, size); - if(isPublic){ - return AjaxResult.success(this.datasetService.newPubilcQueryByPage(dataset, pageRequest)); - }else { - return AjaxResult.success(this.datasetService.newPersonalQueryByPage(dataset, pageRequest)); - } - } - - @GetMapping("/getdatasetDetail") - @ApiOperation(value = "获取数据集详情") - public AjaxResult getDatasetVersions(@PathVariable("datasetId") Integer datasetId) throws Exception { - return AjaxResult.success(this.datasetService.getDatasetVersions(datasetId)); + public ResponseEntity downloadDataset(@RequestParam("url") String url) throws Exception { + return newDatasetService.downloadDatasetlocal(url); } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/devEnvironment/DevEnvironmentController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/devEnvironment/DevEnvironmentController.java index 7667f1ce..0a3b608d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/devEnvironment/DevEnvironmentController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/devEnvironment/DevEnvironmentController.java @@ -83,7 +83,7 @@ public class DevEnvironmentController extends BaseController { * @return 删除是否成功 */ @DeleteMapping("{id}") - public GenericsAjaxResult deleteById(@PathVariable("id") Integer id) { + public GenericsAjaxResult deleteById(@PathVariable("id") Integer id) throws Exception { return genericsSuccess(this.devEnvironmentService.removeById(id)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java index 1c36c1d2..8d18c409 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java @@ -106,6 +106,12 @@ public class ExperimentInsController extends BaseController { return genericsSuccess(this.experimentInsService.removeById(id)); } + @DeleteMapping("batchDelete") + @ApiOperation("批量删除实验实例") + public GenericsAjaxResult batchDelete(@RequestBody List ids) throws Exception{ + return genericsSuccess(this.experimentInsService.batchDelete(ids)); + } + /** * 终止实验实例 * diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/jupyter/JupyterController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/jupyter/JupyterController.java index 02bff0db..6234820b 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/jupyter/JupyterController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/jupyter/JupyterController.java @@ -4,10 +4,9 @@ import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.domain.GenericsAjaxResult; import com.ruoyi.platform.domain.DevEnvironment; -import com.ruoyi.platform.service.DatasetService; import com.ruoyi.platform.service.JupyterService; -import com.ruoyi.platform.vo.DatasetVo; -import com.ruoyi.platform.vo.FrameLogPathVo; +import com.ruoyi.platform.service.NewDatasetService; +import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.PodStatusVo; import com.ruoyi.platform.vo.VersionVo; import io.swagger.annotations.Api; @@ -30,7 +29,7 @@ public class JupyterController extends BaseController { @Resource private JupyterService jupyterService; @Resource - private DatasetService datasetService; + private NewDatasetService newDatasetService; @GetMapping(value = "/getURL") @ApiOperation("得到访问地址") public GenericsAjaxResult getURL() throws IOException { @@ -87,20 +86,4 @@ public class JupyterController extends BaseController { return AjaxResult.success(); } - @GetMapping(value = "/testdvc") - public AjaxResult testdvc() throws Exception { - DatasetVo datasetVo = new DatasetVo(); - datasetVo.setName("testdassad23"); - datasetVo.setDescription("sss"); - datasetVo.setAvailableRange(0); - datasetVo.setDataTag("计算机视觉"); - datasetVo.setDataType("机器翻译"); - datasetVo.setVersion("dev"); - List datasetVersionVos = new ArrayList<>(); - VersionVo versionVo = new VersionVo(); - versionVo.setUrl("E:/test/bb/data/xssa.doc"); - datasetVersionVos.add(versionVo); - datasetVo.setDatasetVersionVos(datasetVersionVos); - return AjaxResult.success(datasetService.newCreateDataset(datasetVo)); - } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java new file mode 100644 index 00000000..3ba4a9fa --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java @@ -0,0 +1,136 @@ +package com.ruoyi.platform.controller.model; + +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.platform.domain.ModelDependency1; +import com.ruoyi.platform.service.ModelsService; +import com.ruoyi.platform.vo.ModelsVo; +import com.ruoyi.platform.vo.QueryModelMetricsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.core.io.InputStreamResource; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("newmodel") +@Api(value = "新模型管理") +public class NewModelFromGitController { + + @Resource + private ModelsService modelsService; + + @PostMapping("/addModel") + @ApiOperation("添加模型") + public AjaxResult addModelAndVersion(@RequestBody ModelsVo modelsVo) throws Exception { + return AjaxResult.success(this.modelsService.newCreateModel(modelsVo)); + } + + @PostMapping("/addVersion") + @ApiOperation("添加版本") + public AjaxResult addVersion(@RequestBody ModelsVo modelsVo) throws Exception { + return AjaxResult.success(this.modelsService.newCreateVersion(modelsVo)); + } + + @CrossOrigin(origins = "*", allowedHeaders = "*") + @PostMapping("/upload") + @ApiOperation(value = "上传模型", notes = "根据模型id上传模型文件,并将信息存入数据库。") + public AjaxResult uploadModel(@RequestParam("file") MultipartFile[] files, @RequestParam("uuid") String uuid) throws Exception { + return AjaxResult.success(this.modelsService.uploadModelLocal(files, uuid)); + } + + @GetMapping("/downloadAllFiles") + @ApiOperation(value = "下载同一版本下所有模型,并打包") + public ResponseEntity downloadAllDatasetFiles(@RequestParam("name") String name, @RequestParam("identifier") String identifier, @RequestParam("id") Integer id, @RequestParam("version") String version) throws Exception { + return modelsService.downloadAllModelFilesNew(name, identifier, id, version); + } + + @GetMapping("/downloadSingleFile") + @ApiOperation(value = "下载单个模型文件", notes = "根据模型版本表id下载单个模型文件") + public ResponseEntity downloadDatasetlocal(@RequestParam("url") String url) throws Exception { + return modelsService.downloadDatasetlocal(url); + } + + @GetMapping("/queryModels") + @ApiOperation("模型广场公开模型分页查询,根据model_type,model_tag筛选,true公开false私有") + public AjaxResult queryModels(@RequestParam(value = "page") int page, + @RequestParam(value = "size") int size, + @RequestParam(value = "is_public", required = false) Boolean isPublic, + @RequestParam(value = "model_type", required = false) String modelType, + @RequestParam(value = "model_tag", required = false) String modelTag, + @RequestParam(value = "name", required = false) String name) throws Exception { + PageRequest pageRequest = PageRequest.of(page, size); + ModelsVo modelsVo = new ModelsVo(); + modelsVo.setModelType(modelType); + modelsVo.setModelTag(modelTag); + modelsVo.setName(name); + if (isPublic) { + return AjaxResult.success(this.modelsService.newPubilcQueryByPage(modelsVo, pageRequest)); + } else { + return AjaxResult.success(this.modelsService.newPersonalQueryByPage(modelsVo, pageRequest)); + } + } + + @GetMapping("/queryVersions") + @ApiOperation("分页查询模型版本") + public AjaxResult queryVersions(@RequestParam(value = "page") int page, + @RequestParam(value = "size") int size, + @RequestParam("identifier") String identifier, + @RequestParam("owner") String owner, + @RequestParam("type") String type) throws Exception { + PageRequest pageRequest = PageRequest.of(page, size); + return AjaxResult.success(this.modelsService.queryVersions(pageRequest, identifier, owner, type)); + } + + @PostMapping("/queryVersionsMetrics") + @ApiOperation("查询版本指标") + public AjaxResult queryVersionsMetrics(@RequestBody QueryModelMetricsVo queryModelMetricsVo) throws Exception { + return AjaxResult.success(this.modelsService.queryVersionsMetrics(queryModelMetricsVo)); + } + + + @GetMapping("/getVersionList") + @ApiOperation(value = "获取模型分支列表") + public AjaxResult getVersionList(@RequestParam("identifier") String identifier, @RequestParam("owner") String owner) throws Exception { + return AjaxResult.success(this.modelsService.getVersionList(identifier, owner)); + } + + + @GetMapping("/getModelDetail") + @ApiOperation(value = "获取模型详细信息") + public AjaxResult getModelDetail(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("owner") String owner, @RequestParam("version") String version) throws Exception { + return AjaxResult.success(this.modelsService.getModelDetail(id, identifier, owner, version)); + } + + @GetMapping("/getModelDependencyTree") + @ApiOperation(value = "获取模型依赖关系树") + public AjaxResult getModelDependencyTree(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("version") String version) throws Exception { + return AjaxResult.success(this.modelsService.getModelDependencyTree(id, identifier, version)); + } + + @DeleteMapping("/delete") + @ApiOperation(value = "删除模型") + public AjaxResult deleteModel(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, + @RequestParam("owner") String owner) throws Exception { + this.modelsService.deleteModel(id, identifier, owner); + return AjaxResult.success(); + } + + @DeleteMapping("/deleteVersion") + @ApiOperation(value = "删除模型版本") + public AjaxResult deleteVersion(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("owner") String owner, @RequestParam("version") String version + , @RequestParam("relative_paths") String relativePaths) throws Exception { + List> versionList = this.modelsService.getVersionList(identifier, owner); + if (versionList.size() == 1) { + return AjaxResult.error("当前模型只有一个版本,不能删除该版本"); + } + this.modelsService.deleteVersion(id, identifier, owner, version, relativePaths); + return AjaxResult.success(); + } + +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/service/ServiceController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/service/ServiceController.java new file mode 100644 index 00000000..3eb28e4c --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/service/ServiceController.java @@ -0,0 +1,146 @@ +package com.ruoyi.platform.controller.service; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.GenericsAjaxResult; +import com.ruoyi.platform.domain.Service; +import com.ruoyi.platform.domain.ServiceVersion; +import com.ruoyi.platform.service.ServiceService; +import com.ruoyi.platform.vo.serviceVos.ServiceVersionVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("service") +@Api("服务") +public class ServiceController extends BaseController { + @Resource + private ServiceService serviceService; + + + @GetMapping + @ApiOperation("分页查询服务列表") + public GenericsAjaxResult> queryByPageService(@RequestParam(value = "service_name", required = false) String serviceName, + @RequestParam(value = "service_type", required = false) String serviceType, + @RequestParam("page") int page, + @RequestParam("size") int size) throws IOException { + Service service = new Service(); + service.setServiceName(serviceName); + service.setServiceType(serviceType); + PageRequest pageRequest = PageRequest.of(page, size); + return genericsSuccess(serviceService.queryByPageService(service, pageRequest)); + } + + @GetMapping("/serviceVersion") + @ApiOperation("分页查询服务版本列表") + public GenericsAjaxResult> queryByPageServiceVersion(@RequestParam(value = "run_state", required = false) String runState, + @RequestParam(value = "version", required = false) String version, + @RequestParam("service_id") Long serviceId, + @RequestParam("page") int page, + @RequestParam("size") int size) throws IOException { + ServiceVersion serviceVersion = new ServiceVersion(); + serviceVersion.setRunState(runState); + serviceVersion.setVersion(version); + serviceVersion.setServiceId(serviceId); + return genericsSuccess(serviceService.queryByPageServiceVersion(serviceVersion, page, size)); + } + + @PostMapping + @ApiOperation("新增服务") + public GenericsAjaxResult addService(@RequestBody Service service) { + return genericsSuccess(serviceService.addService(service)); + } + + @PostMapping("/serviceVersion") + @ApiOperation("新增服务版本") + public GenericsAjaxResult addServiceVersion(@RequestBody ServiceVersionVo serviceVersionVo) { + return genericsSuccess(serviceService.addServiceVersion(serviceVersionVo)); + } + + @PutMapping + @ApiOperation("编辑服务") + public GenericsAjaxResult editService(@RequestBody Service service) { + return genericsSuccess(serviceService.editService(service)); + } + + @PutMapping("/serviceVersion") + @ApiOperation("编辑服务版本") + public GenericsAjaxResult editServiceVersion(@RequestBody ServiceVersionVo serviceVersionVo) { + return genericsSuccess(serviceService.editServiceVersion(serviceVersionVo)); + } + + @GetMapping("/serviceDetail/{id}") + @ApiOperation("查询服务详细信息") + public GenericsAjaxResult getService(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.getService(id)); + } + + @GetMapping("/serviceVersionDetail/{id}") + @ApiOperation("查询服务版本详细信息") + public GenericsAjaxResult getServiceVersion(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.getServiceVersion(id)); + } + + @GetMapping("serviceVersionCompare") + @ApiOperation("服务版本版本对比") + public GenericsAjaxResult> serviceVersionCompare(@RequestParam("id1") Long id1, @RequestParam("id2") Long id2) throws IllegalAccessException { + return genericsSuccess(serviceService.serviceVersionCompare(id1, id2)); + } + + @GetMapping("/serviceVersionList/{id}") + @ApiOperation("查询服务版本列表") + public GenericsAjaxResult> serviceVersionList(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.serviceVersionList(id)); + } + + @DeleteMapping("{id}") + @ApiOperation("删除服务") + public GenericsAjaxResult deleteService(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.deleteService(id)); + } + + @DeleteMapping("/serviceVersion/{id}") + @ApiOperation("删除服务版本") + public GenericsAjaxResult deleteServiceVersion(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.deleteServiceVersion(id)); + } + +// @PostMapping("/runServiceVersion/{id}") +// @ApiOperation("启动服务版本") +// public GenericsAjaxResult runServiceVersion(@PathVariable("id") Long id) { +// return genericsSuccess(serviceService.runServiceVersion(id)); +// } + + @DeleteMapping("/stopServiceVersion/{id}") + @ApiOperation("停止服务版本") + public GenericsAjaxResult stopServiceVersion(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.stopServiceVersion(id)); + } + +// @PutMapping("/updateServiceVersion") +// @ApiOperation("更新服务版本") +// public GenericsAjaxResult updateServiceVersion(@RequestBody ServiceVersion serviceVersion) { +// return genericsSuccess(serviceService.updateServiceVersion(serviceVersion)); +// } + + @GetMapping("/getServiceVersionLog") + @ApiOperation("获取服务版本日志") + public GenericsAjaxResult> getServiceVersionLog(@RequestParam("id") Long id, + @RequestParam("start_time") String startTime, @RequestParam("end_time") String endTime) { + return genericsSuccess(serviceService.getServiceVersionLog(id, startTime, endTime)); + } + + @GetMapping("/getServiceVersionDocs/{id}") + @ApiOperation("获取服务版本文档") + public GenericsAjaxResult> getServiceVersionDocs(@PathVariable("id") Long id) { + return genericsSuccess(serviceService.getServiceVersionDocs(id)); + } +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetDependency.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetDependency.java new file mode 100644 index 00000000..a29e1fda --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetDependency.java @@ -0,0 +1,29 @@ +package com.ruoyi.platform.domain; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.Data; + +import java.io.Serializable; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@Data +public class DatasetDependency implements Serializable { + private Long id; + + private String parentDataset; + + private String datasetName; + + private String version; + + private Integer repoId; + + private String identifier; + + private String owner; + + private Integer state; + + private String meta; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetTempStorage.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetTempStorage.java new file mode 100644 index 00000000..6b7255da --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetTempStorage.java @@ -0,0 +1,109 @@ +package com.ruoyi.platform.domain; + +import java.util.Date; +import java.io.Serializable; + +/** + * 数据集暂存的数据(DatasetTempStorage)实体类 + * + * @author makejava + * @since 2024-09-12 09:42:09 + */ +public class DatasetTempStorage implements Serializable { + private static final long serialVersionUID = -44025176874790480L; + + private Integer id; + + private String name; + + private String version; + + private String source; + /** + * 为0失效,1生效 + */ + private Integer state; + + private String createBy; + + private Date createTime; + + private String updateBy; + + private Date updateTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public Integer getState() { + return state; + } + + public void setState(Integer state) { + this.state = state; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + +} + diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java index dd3dc2bf..d29b7e10 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java @@ -1,10 +1,12 @@ package com.ruoyi.platform.domain; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonRawValue; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import java.io.Serializable; import java.util.Date; @@ -17,6 +19,7 @@ import java.util.Date; */ @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) @ApiModel("实验实例对象") +@Data public class ExperimentIns implements Serializable { private static final long serialVersionUID = 623464560240790680L; @ApiModelProperty(name = "id") @@ -52,6 +55,10 @@ public class ExperimentIns implements Serializable { @JsonRawValue private String metricRecord; + @ApiModelProperty(value = "指标数值", notes = "以JSON字符串格式存储") + @JsonRawValue + private String metricValue; + @ApiModelProperty(value = "开始时间") private Date startTime; @@ -74,151 +81,11 @@ public class ExperimentIns implements Serializable { private Integer state; - @ApiModelProperty(value = "实验实例对应的流水线ID") private Long workflowId; + @TableField(exist = false) + private String experimentName; - public ExperimentIns() { - } - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getExperimentId() { - return experimentId; - } - - public void setExperimentId(Integer experimentId) { - this.experimentId = experimentId; - } - - public String getArgoInsName() { - return argoInsName; - } - - public void setArgoInsName(String argoInsName) { - this.argoInsName = argoInsName; - } - - public String getArgoInsNs() { - return argoInsNs; - } - - public void setArgoInsNs(String argoInsNs) { - this.argoInsNs = argoInsNs; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - - public String getNodesStatus() { - return nodesStatus; - } - - public void setNodesStatus(String nodesStatus) { - this.nodesStatus = nodesStatus; - } - - public String getNodesResult() { - return nodesResult; - } - - public void setNodesResult(String nodesResult) { - this.nodesResult = nodesResult; - } - - public String getNodesLogs() { - return nodesLogs; - } - - public void setNodesLogs(String nodesLogs) { - this.nodesLogs = nodesLogs; - } - - public String getGlobalParam() { - return globalParam; - } - - public void setGlobalParam(String globalParam) { - this.globalParam = globalParam; - } - - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - public Date getStartTime() {return startTime;} - - public void setFinishTime(Date finishTime) { - this.finishTime = finishTime; - } - - public Date getFinishTime() {return finishTime;} - - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - public Integer getState() { - return state; - } - - public void setState(Integer state) { - this.state = state; - } - - public Long getWorkflowId() {return workflowId;} - - public void setWorkflowId(Long workflowId) {this.workflowId = workflowId;} - - public String getMetricRecord() { - return metricRecord; - } - - public void setMetricRecord(String metricRecord) { - this.metricRecord = metricRecord; - } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java new file mode 100644 index 00000000..c8d6a224 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java @@ -0,0 +1,31 @@ +package com.ruoyi.platform.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@Data +public class ModelDependency1 implements Serializable { + private Long id; + + private String parentModel; + + private String modelName; + + private String version; + + private Integer repoId; + + private String identifier; + + private String owner; + + private Integer state; + + private String meta; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Service.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Service.java new file mode 100644 index 00000000..b8383ca0 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Service.java @@ -0,0 +1,53 @@ +package com.ruoyi.platform.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@ApiModel("服务") +@Data +public class Service implements Serializable { + private Long id; + + private String serviceName; + + private String serviceType; + + @TableField(exist = false) + private String serviceTypeName; + + private String description; + + private String createBy; + + private String updateBy; + + private Date createTime; + + private Date updateTime; + + private Integer state; + + @TableField(exist = false) + private Long versionCount; + + public String getServiceTypeName() { + switch (serviceType) { + case "image": + return "图片"; + case "video": + return "视频"; + case "audio": + return "音频"; + case "text": + return "文本"; + } + return null; + } +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ServiceVersion.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ServiceVersion.java new file mode 100644 index 00000000..f190a99a --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ServiceVersion.java @@ -0,0 +1,56 @@ +package com.ruoyi.platform.domain; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@ApiModel("服务版本") +@Data +public class ServiceVersion implements Serializable { + private Long id; + + private Long serviceId; + + private String version; + + private String description; + + private String model; + + private String image; + + private String resource; + + private Integer replicas; + + private String mountPath; + + private String envVariables; + + private String codeConfig; + + private String command; + + private String url; + + private String createBy; + + private String updateBy; + + private Date createTime; + + private Date updateTime; + + private Integer state; + + private String runState; + + private String deploymentName; + + private String svcName; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/dependencydomain/TrainTaskDepency.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/dependencydomain/TrainTaskDepency.java index 857306c8..534f5fd4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/dependencydomain/TrainTaskDepency.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/dependencydomain/TrainTaskDepency.java @@ -13,5 +13,9 @@ public class TrainTaskDepency implements Serializable { //实例id private Integer insId; //节点Id + private Long workflowId; + + private Integer experimentId; + private String taskId; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetDependencyDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetDependencyDao.java new file mode 100644 index 00000000..08d53055 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetDependencyDao.java @@ -0,0 +1,7 @@ +package com.ruoyi.platform.mapper; + +import com.ruoyi.platform.domain.DatasetDependency; + +public interface DatasetDependencyDao { + int insert(DatasetDependency datasetDependency); +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetTempStorageDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetTempStorageDao.java new file mode 100644 index 00000000..ff09c356 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetTempStorageDao.java @@ -0,0 +1,86 @@ +package com.ruoyi.platform.mapper; +import com.ruoyi.platform.domain.DatasetTempStorage; +import org.apache.ibatis.annotations.Param; +import org.springframework.data.domain.Pageable; + +import java.util.List; + +/** + * 数据集暂存的数据(DatasetTempStorage)表数据库访问层 + * + * @author makejava + * @since 2024-09-12 09:42:09 + */ +public interface DatasetTempStorageDao { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + DatasetTempStorage queryById(Integer id); + + /** + * 查询指定行数据 + * + * @param datasetTempStorage 查询条件 + * @param pageable 分页对象 + * @return 对象列表 + */ + List queryAllByLimit(DatasetTempStorage datasetTempStorage, @Param("pageable") Pageable pageable); + + /** + * 统计总行数 + * + * @param datasetTempStorage 查询条件 + * @return 总行数 + */ + long count(DatasetTempStorage datasetTempStorage); + + /** + * 新增数据 + * + * @param datasetTempStorage 实例对象 + * @return 影响行数 + */ + int insert(DatasetTempStorage datasetTempStorage); + + /** + * 批量新增数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertBatch(@Param("entities") List entities); + + /** + * 批量新增或按主键更新数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 + */ + int insertOrUpdateBatch(@Param("entities") List entities); + + /** + * 修改数据 + * + * @param datasetTempStorage 实例对象 + * @return 影响行数 + */ + int update(DatasetTempStorage datasetTempStorage); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 影响行数 + */ + int deleteById(Integer id); + + DatasetTempStorage queryByDatasetTempStorage(DatasetTempStorage datasetTempStorage); + + DatasetTempStorage queryByInsId(@Param("insId") String insId); +} + diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java index 58642324..478d0f28 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java @@ -39,6 +39,10 @@ public interface ExperimentInsDao { */ long count(@Param("experimentIns") ExperimentIns experimentIns); + long countTorE(@Param("experimentId") Integer experimentId, @Param("isTrain") Boolean isTrain); + + List queryTorE(@Param("experimentId") Integer experimentId, @Param("isTrain") Boolean isTrain, @Param("pageable") Pageable pageable); + /* 统计实验实例总数 @@ -100,7 +104,6 @@ public interface ExperimentInsDao { List getLatestInsList(); - List queryByExperiment(@Param("experimentIns") ExperimentIns experimentIns); List queryByExperimentId(Integer id); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java new file mode 100644 index 00000000..0b80f58e --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java @@ -0,0 +1,31 @@ +package com.ruoyi.platform.mapper; + +import com.ruoyi.platform.domain.ModelDependency1; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ModelDependency1Dao { + + int insert(ModelDependency1 modelDependency1); + + int updateState(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("version") String version, @Param("meta") String meta, @Param("state") Integer state); + + List queryModelDependency(@Param("modelName") String modelName, @Param("repoId") Integer repoId, @Param("owner") String owner); + + ModelDependency1 getBuildingModel(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("version") String version); + + ModelDependency1 queryByRepoAndVersion(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("version") String version); + + List queryByParentModel(@Param("parentModel") String parentModel); + + ModelDependency1 queryByTrainTask(@Param("trainTask") String trainTask); + + ModelDependency1 queryByInsId(@Param("insId") String insId); + + int deleteModel(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("owner") String owner, @Param("version") String version); + + int deleteModelDependency(@Param("parentModel") String parentModel); + + String getMeta(@Param("identifier") String identifier, @Param("owner") String owner, @Param("version") String version); +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ServiceDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ServiceDao.java new file mode 100644 index 00000000..b359812c --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ServiceDao.java @@ -0,0 +1,39 @@ +package com.ruoyi.platform.mapper; + +import com.ruoyi.platform.domain.Service; +import com.ruoyi.platform.domain.ServiceVersion; +import org.apache.ibatis.annotations.Param; +import org.springframework.data.domain.Pageable; + +import java.util.List; + +public interface ServiceDao { + + long countService(@Param("service") com.ruoyi.platform.domain.Service service); + + long countServiceVersion(@Param("serviceVersion") ServiceVersion serviceVersion); + + List queryByPageService(@Param("service") com.ruoyi.platform.domain.Service service, @Param("pageable") Pageable pageable); + + List queryByPageServiceVersion(@Param("serviceVersion") ServiceVersion serviceVersion, @Param("pageable") Pageable pageable); + + int insertService(@Param("service") com.ruoyi.platform.domain.Service service); + + int insertServiceVersion(@Param("serviceVersion") ServiceVersion serviceVersion); + + int updateService(@Param("service") Service service); + + int updateServiceVersion(@Param("serviceVersion") ServiceVersion serviceVersion); + + int updateRunState(@Param("deploymentName") String deploymentName, @Param("runState") String runState); + + Service getServiceById(@Param("id") Long id); + + ServiceVersion getServiceVersionById(@Param("id") Long id); + + List getServiceVersionList(@Param("serviceId") Long serviceId); + + Service getServiceByName(@Param("serviceName") String serviceName); + + ServiceVersion getSvByVersion(@Param("version") String version, @Param("serviceId") Long serviceId); +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java index 131dca48..55ed5a45 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java @@ -2,12 +2,13 @@ package com.ruoyi.platform.scheduling; import com.ruoyi.platform.domain.Experiment; import com.ruoyi.platform.domain.ExperimentIns; -import com.ruoyi.platform.domain.ModelDependency; import com.ruoyi.platform.mapper.ExperimentDao; import com.ruoyi.platform.mapper.ExperimentInsDao; -import com.ruoyi.platform.mapper.ModelDependencyDao; +import com.ruoyi.platform.service.AimService; import com.ruoyi.platform.service.ExperimentInsService; import com.ruoyi.platform.utils.JacksonUtil; +import com.ruoyi.platform.utils.JsonUtils; +import com.ruoyi.platform.vo.InsMetricInfoVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -26,11 +27,12 @@ public class ExperimentInstanceStatusTask { @Resource private ExperimentInsDao experimentInsDao; @Resource - private ModelDependencyDao modelDependencyDao; + private AimService aimService; + private List experimentIds = new ArrayList<>(); @Scheduled(cron = "0/30 * * * * ?") // 每30S执行一次 - public void executeExperimentInsStatus() throws IOException { + public void executeExperimentInsStatus() throws Exception { // 首先查到所有非终止态的实验实例 List experimentInsList = experimentInsService.queryByExperimentIsNotTerminated(); // 去argo查询状态 @@ -38,59 +40,77 @@ public class ExperimentInstanceStatusTask { if (experimentInsList != null && experimentInsList.size() > 0) { for (ExperimentIns experimentIns : experimentInsList) { //当原本状态为null或非终止态时才调用argo接口 - String oldStatus = experimentIns.getStatus(); try { experimentIns = experimentInsService.queryStatusFromArgo(experimentIns); } catch (Exception e) { experimentIns.setStatus("Failed"); } - experimentIns.setUpdateTime(new Date()); - // 线程安全的添加操作 - synchronized (experimentIds) { - experimentIds.add(experimentIns.getExperimentId()); - } - updateList.add(experimentIns); - } - } - if (updateList.size() > 0) { - experimentInsDao.insertOrUpdateBatch(updateList); + //运行成功的实验实例记录指标数值 + Map metricRecord = JacksonUtil.parseJSONStr2Map(experimentIns.getMetricRecord()); + List> trainMetricRecords = (List>) metricRecord.get("train"); + List> evaluateMetricRecords = (List>) metricRecord.get("evaluate"); - //遍历模型关系表,找到 - List modelDependencyList = new ArrayList(); - for (ExperimentIns experimentIns : updateList) { - ModelDependency modelDependencyquery = new ModelDependency(); - modelDependencyquery.setExpInsId(experimentIns.getId()); - modelDependencyquery.setState(2); + HashMap metricValue = new HashMap<>(); + HashMap trainMetricValues = new HashMap<>(); + HashMap evaluateMetricValues = new HashMap<>(); - List modelDependencyListquery = modelDependencyDao.queryByModelDependency(modelDependencyquery); - if (modelDependencyListquery == null || modelDependencyListquery.size() == 0) { - continue; - } - ModelDependency modelDependency = modelDependencyListquery.get(0); - //查看状态, - if (StringUtils.equals("Failed", experimentIns.getStatus())) { - //取出节点状态 - String trainTask = modelDependency.getTrainTask(); - Map trainMap = JacksonUtil.parseJSONStr2Map(trainTask); - String task_id = (String) trainMap.get("task_id"); - if (StringUtils.isEmpty(task_id)) { - continue; + if (trainMetricRecords != null && !trainMetricRecords.isEmpty()) { + for (Map trainMetricRecord : trainMetricRecords) { + HashMap trainMetricValue = new HashMap<>(); + String taskId = (String) trainMetricRecord.get("task_id"); + if (taskId.startsWith("model-train")) { + String runId = (String) trainMetricRecord.get("run_id"); + List expTrainInfos = aimService.getExpInfos1(true, experimentIns.getExperimentId(), runId); + for (InsMetricInfoVo expTrainInfo : expTrainInfos) { + Map metrics = expTrainInfo.getMetrics(); + trainMetricValue.putAll(metrics); + trainMetricValue.put("run_hash", expTrainInfo.getRunId()); + } + if (trainMetricValue.size() > 0) { + trainMetricValues.put(taskId, trainMetricValue); + } + } } - String nodesStatus = experimentIns.getNodesStatus(); - Map nodeMaps = JacksonUtil.parseJSONStr2Map(nodesStatus); - Map nodeMap = JacksonUtil.parseJSONStr2Map(JacksonUtil.toJSONString(nodeMaps.get(task_id))); + } - if (nodeMap == null) { - continue; - } - if (!StringUtils.equals("Succeeded", (String) nodeMap.get("phase"))) { - modelDependency.setState(0); - modelDependencyList.add(modelDependency); + if (evaluateMetricRecords != null && !evaluateMetricRecords.isEmpty()) { + for (Map evaluateMetricRecord : evaluateMetricRecords) { + HashMap evaluateMetricValue = new HashMap<>(); + String taskId = (String) evaluateMetricRecord.get("task_id"); + if (taskId.startsWith("model-evaluate")) { + String runId = (String) evaluateMetricRecord.get("run_id"); + List expTrainInfos = aimService.getExpInfos1(false, experimentIns.getExperimentId(), runId); + for (InsMetricInfoVo expTrainInfo : expTrainInfos) { + Map metrics = expTrainInfo.getMetrics(); + evaluateMetricValue.putAll(metrics); + evaluateMetricValue.put("run_hash", expTrainInfo.getRunId()); + } + if (evaluateMetricValue.size() > 0) { + evaluateMetricValues.put(taskId, evaluateMetricValue); + } + } } } + if (trainMetricValues.size() > 0) { + metricValue.put("train", trainMetricValues); + } else { + metricValue.put("train", null); + } + if (evaluateMetricValues.size() > 0) { + metricValue.put("evaluate", evaluateMetricValues); + } else { + metricValue.put("evaluate", null); + } + experimentIns.setMetricValue(JsonUtils.mapToJson(metricValue)); + experimentIns.setUpdateTime(new Date()); + // 线程安全的添加操作 + synchronized (experimentIds) { + experimentIds.add(experimentIns.getExperimentId()); + } + updateList.add(experimentIns); } - if (modelDependencyList.size() > 0) { - modelDependencyDao.insertOrUpdateBatch(modelDependencyList); + if (updateList.size() > 0) { + experimentInsDao.insertOrUpdateBatch(updateList); } } } @@ -105,7 +125,7 @@ public class ExperimentInstanceStatusTask { for (Integer experimentId : experimentIds) { // 获取当前实验的所有实例列表 List insList = experimentInsService.getByExperimentId(experimentId); - List statusList = new ArrayList(); + List statusList = new ArrayList<>(); // 更新实验状态列表 for (int i = 0; i < insList.size(); i++) { statusList.add(insList.get(i).getStatus()); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AimService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AimService.java index c83a42af..c7e383e3 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AimService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AimService.java @@ -1,14 +1,25 @@ package com.ruoyi.platform.service; import com.ruoyi.platform.vo.InsMetricInfoVo; +import org.springframework.data.domain.Page; +import java.util.HashMap; import java.util.List; +import java.util.Map; public interface AimService { - List getExpTrainInfos(Integer experimentId) throws Exception; + List getExpTrainInfos(Integer experimentId, String offset, int limit) throws Exception; - List getExpEvaluateInfos(Integer experimentId) throws Exception; + List getExpEvaluateInfos(Integer experimentId, String offset, int limit) throws Exception; + + Page getExpInfos(boolean isTrain, Integer experimentId, int page, int size); + + List getExpInfos1(boolean isTrain, Integer experimentId, String runId) throws Exception; String getExpMetrics(List runIds) throws Exception; + + HashMap queryMetricsParams(String runId) throws Exception; + + List> getBatchMetric(String runHash, String body); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java index a22e7101..4c66fd6c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java @@ -21,11 +21,7 @@ import java.util.concurrent.CompletableFuture; * @author Xidaray * @since 2023-11-28 11:51:22 */ -public interface -DatasetService { - - - +public interface DatasetService { /** @@ -39,12 +35,12 @@ DatasetService { /** * 分页查询 * - * @param dataset 筛选条件 - * @param pageRequest 分页对象 + * @param dataset 筛选条件 + * @param pageRequest 分页对象 * @return 查询结果 */ Page queryByPage(Dataset dataset, PageRequest pageRequest); - + /** * 新增数据 * @@ -54,7 +50,6 @@ DatasetService { Dataset insert(Dataset dataset) throws Exception; - /** * 修改数据 * @@ -82,24 +77,11 @@ DatasetService { List getDatasetVersions(Integer datasetId) throws Exception; String insertDatasetAndVersion(DatasetVo datasetVo) throws Exception; + void checkDeclaredName(Dataset insert) throws Exception; ResponseEntity downloadAllDatasetFiles(Integer datasetId, String version) throws Exception; List> exportDataset(String path, String uuid) throws Exception; - - - - - CompletableFuture newCreateDataset(DatasetVo datasetVo) throws Exception; - CompletableFuture newCreateVersion(DatasetVo datasetVo); - - - - List> uploadDatasetlocal(MultipartFile[] files, String uuid) throws Exception; - - ResponseEntity downloadAllDatasetFilesNew(String repositoryName, String version) throws IOException, Exception; - Page newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception; - Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception; -} +} \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetTempStorageService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetTempStorageService.java new file mode 100644 index 00000000..c5606208 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetTempStorageService.java @@ -0,0 +1,57 @@ +package com.ruoyi.platform.service; + +import com.ruoyi.platform.domain.DatasetTempStorage; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; + +/** + * 数据集暂存的数据(DatasetTempStorage)表服务接口 + * + * @author makejava + * @since 2024-09-12 09:42:10 + */ +public interface DatasetTempStorageService { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + DatasetTempStorage queryById(Integer id); + + /** + * 分页查询 + * + * @param datasetTempStorage 筛选条件 + * @param pageRequest 分页对象 + * @return 查询结果 + */ + Page queryByPage(DatasetTempStorage datasetTempStorage, PageRequest pageRequest); + + DatasetTempStorage queryByDatasetTempStorage(DatasetTempStorage datasetTempStorage); + /** + * 新增数据 + * + * @param datasetTempStorage 实例对象 + * @return 实例对象 + */ + DatasetTempStorage insert(DatasetTempStorage datasetTempStorage); + + /** + * 修改数据 + * + * @param datasetTempStorage 实例对象 + * @return 实例对象 + */ + DatasetTempStorage update(DatasetTempStorage datasetTempStorage); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + boolean deleteById(Integer id); + +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DevEnvironmentService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DevEnvironmentService.java index 055b60dc..4562c7d4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DevEnvironmentService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DevEnvironmentService.java @@ -54,5 +54,5 @@ public interface DevEnvironmentService { */ boolean deleteById(Integer id); - String removeById(Integer id); + String removeById(Integer id) throws Exception; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java index 046e0186..98ee1b6d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java @@ -73,6 +73,9 @@ public interface ExperimentInsService { * @param id 主键 * @return 是否成功 */ + + String batchDelete(List ids); + boolean deleteById(Integer id); @@ -105,4 +108,6 @@ public interface ExperimentInsService { List queryByExperimentIsNotTerminated(); Map countByStatus(); + + void updateExperimentStatus(Integer experimentId); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/GitService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/GitService.java index e130896b..85eea493 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/GitService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/GitService.java @@ -2,16 +2,30 @@ package com.ruoyi.platform.service; import com.ruoyi.platform.vo.GitProjectVo; +import java.io.IOException; +import java.util.List; import java.util.Map; public interface GitService { //登录方法,返回token String login(String username, String password); + String checkoutToken(); + //输入token,项目名,tag,创建新项目,返回项目地址 - Map createProject(String token, GitProjectVo gitProjectVo) throws Exception; + Map createProject(String token,GitProjectVo gitProjectVo) throws Exception; void createBranch(String token,String owner, String projectName, String branchName, String oldBranchName) throws Exception; - void createTopic(String token, Integer id, String topicName) throws Exception; + void createTopic(String token,Integer id, String topicName) throws Exception; + + List> getBrancheList(String token,String owner, String projectName) throws Exception; + + void deleteProject(String token,String owner, String projectName) throws Exception; + + void deleteBranch(String token,String owner, String projectName, String branchName, String localPath) throws Exception; + + Map getUserInfo(String token) throws Exception; + + Map getProjectDetail(String owner, String identifier, String token) throws IOException; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java index c4e5b920..a346d050 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java @@ -1,17 +1,19 @@ package com.ruoyi.platform.service; - -import com.ruoyi.platform.domain.Dataset; +import com.ruoyi.platform.domain.ModelDependency1; import com.ruoyi.platform.domain.Models; import com.ruoyi.platform.domain.ModelsVersion; +import com.ruoyi.platform.vo.ModelDependency1TreeVo; import com.ruoyi.platform.vo.ModelsVo; +import com.ruoyi.platform.vo.QueryModelMetricsVo; import org.springframework.core.io.InputStreamResource; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.ResponseEntity; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -34,8 +36,8 @@ public interface ModelsService { /** * 分页查询 * - * @param models 筛选条件 - * @param pageRequest 分页对象 + * @param models 筛选条件 + * @param pageRequest 分页对象 * @return 查询结果 */ Page queryByPage(Models models, PageRequest pageRequest); @@ -69,13 +71,14 @@ public interface ModelsService { ResponseEntity downloadModels(Integer id) throws Exception; - + ResponseEntity downloadDatasetlocal(String filePath) throws Exception; List> uploadModels(MultipartFile[] files, String uuid) throws Exception; Map uploadModelsPipeline(ModelsVersion modelsVersion) throws Exception; ResponseEntity downloadAllModelFiles(Integer modelsId, String version) throws Exception; + List getModelVersions(Integer modelId) throws Exception; String insertModelAndVersion(ModelsVo modelsVo) throws Exception; @@ -85,4 +88,30 @@ public interface ModelsService { public void checkDeclaredName(Models insert) throws Exception; List> exportModels(String path, String uuid) throws Exception; + + String newCreateModel(ModelsVo modelsVo) throws Exception; + + String newCreateVersion(ModelsVo modelsVo) throws Exception; + + List> uploadModelLocal(MultipartFile[] files, String uuid) throws Exception; + + ResponseEntity downloadAllModelFilesNew(String name, String identifier, Integer id, String version) throws IOException, Exception; + + Page newPubilcQueryByPage(ModelsVo modelsVo, PageRequest pageRequest) throws Exception; + + Page newPersonalQueryByPage(ModelsVo modelsVo, PageRequest pageRequest) throws Exception; + + Page> queryVersions(PageRequest pageRequest, String identifier, String owner, String type) throws Exception; + + Map queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) throws Exception; + + List> getVersionList(String identifier, String owner) throws Exception; + + ModelsVo getModelDetail(Integer id, String identifier, String owner, String version) throws Exception; + + ModelDependency1TreeVo getModelDependencyTree(Integer repoId, String identifier, String version) throws Exception; + + void deleteModel(Integer repoId, String identifier, String owner) throws Exception; + + void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/NewDatasetService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/NewDatasetService.java new file mode 100644 index 00000000..f43891ee --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/NewDatasetService.java @@ -0,0 +1,33 @@ +package com.ruoyi.platform.service; + +import com.ruoyi.platform.domain.Dataset; +import com.ruoyi.platform.vo.NewDatasetVo; +import org.springframework.core.io.InputStreamResource; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +public interface NewDatasetService { + + + String newCreateDataset(NewDatasetVo datasetVo) throws Exception; + String newCreateVersion(NewDatasetVo datasetVo) throws Exception; + List> uploadDatasetlocal(MultipartFile[] files, String uuid) throws Exception; + ResponseEntity downloadDatasetlocal(String filePath) throws Exception; + ResponseEntity downloadAllDatasetFilesNew(String name, String identifier, Integer id, String version) throws IOException, Exception; + Page newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception; + Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception; + + NewDatasetVo getNewDatasetDesc(Integer repoId,String name,String repo, String owner, String version)throws Exception; + + List> getVersionList(String repo, String owner) throws Exception; + + void deleteDatasetNew(Integer repoId, String repo, String owner) throws Exception; + + void deleteDatasetVersionNew(String repo, String owner, String version, String relativePath) throws Exception; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ServiceService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ServiceService.java new file mode 100644 index 00000000..5c69f257 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ServiceService.java @@ -0,0 +1,48 @@ +package com.ruoyi.platform.service; + +import com.ruoyi.platform.domain.Service; +import com.ruoyi.platform.domain.ServiceVersion; +import com.ruoyi.platform.vo.serviceVos.ServiceVersionVo; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public interface ServiceService { + Page queryByPageService(Service service, PageRequest pageRequest) throws IOException; + + Page queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) throws IOException; + + Service addService(Service service); + + ServiceVersion addServiceVersion(ServiceVersionVo serviceVersionVo); + + Service editService(Service service); + + String editServiceVersion(ServiceVersionVo serviceVersionVo); + + Service getService(Long id); + + ServiceVersionVo getServiceVersion(Long id); + + Map serviceVersionCompare(Long id1, Long id2) throws IllegalAccessException; + + String deleteService(Long id); + + String deleteServiceVersion(Long id); + + String runServiceVersion(Long id); + + String stopServiceVersion(Long id); + + String updateServiceVersion(ServiceVersion serviceVersion); + + HashMap getServiceVersionLog(Long id, String startTime, String endTime); + + Map getServiceVersionDocs(Long id); + + List serviceVersionList(Long id); +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java index 338fab19..70915655 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java @@ -1,10 +1,12 @@ package com.ruoyi.platform.service.impl; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.ruoyi.platform.domain.ExperimentIns; -import com.ruoyi.platform.domain.ModelDependency; +import com.ruoyi.platform.mapper.ExperimentInsDao; import com.ruoyi.platform.service.AimService; import com.ruoyi.platform.service.ExperimentInsService; -import com.ruoyi.platform.service.ModelDependencyService; import com.ruoyi.platform.utils.AIM64EncoderUtil; import com.ruoyi.platform.utils.HttpUtils; import com.ruoyi.platform.utils.JacksonUtil; @@ -12,9 +14,13 @@ import com.ruoyi.platform.utils.JsonUtils; import com.ruoyi.platform.vo.InsMetricInfoVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; @@ -23,6 +29,8 @@ import java.util.stream.Collectors; public class AimServiceImpl implements AimService { @Resource private ExperimentInsService experimentInsService; + @Resource + private ExperimentInsDao experimentInsDao; @Value("${aim.url}") private String aimUrl; @@ -30,38 +38,46 @@ public class AimServiceImpl implements AimService { private String aimProxyUrl; @Override - public List getExpTrainInfos(Integer experimentId) throws Exception { - return getAimRunInfos(true,experimentId); + public List getExpTrainInfos(Integer experimentId, String offset, int limit) throws Exception { + return getAimRunInfos(true, experimentId, offset, limit); } @Override - public List getExpEvaluateInfos(Integer experimentId) throws Exception { - return getAimRunInfos(false,experimentId); + public List getExpEvaluateInfos(Integer experimentId, String offset, int limit) throws Exception { + return getAimRunInfos(false, experimentId, offset, limit); } @Override public String getExpMetrics(List runIds) throws Exception { String decode = AIM64EncoderUtil.decode(runIds); - return aimUrl+"/metrics?select="+decode; + return aimUrl + "/metrics?select=" + decode; } - private List getAimRunInfos(boolean isTrain,Integer experimentId) throws Exception { - String experimentName = "experiment-"+experimentId+"-train"; - if (!isTrain){ - experimentName = "experiment-"+experimentId+"-evaluate"; + private List getAimRunInfos(boolean isTrain, Integer experimentId, String offset, int limit) throws Exception { + String experimentName = "experiment-" + experimentId + "-train"; + if (!isTrain) { + experimentName = "experiment-" + experimentId + "-evaluate"; + } + + StringBuffer query = new StringBuffer("run.experiment==\"" + experimentName + "\""); + + String encodedUrlString = URLEncoder.encode(String.valueOf(query), "UTF-8"); + encodedUrlString = encodedUrlString + "&limit=" + limit; + if (StringUtils.isNotEmpty(offset)) { + encodedUrlString = encodedUrlString + "&offset=" + offset; } - String encodedUrlString = URLEncoder.encode("run.experiment==\""+experimentName+"\"", "UTF-8"); - String url = aimProxyUrl+"/api/runs/search/run?query="+encodedUrlString; - String s = HttpUtils.sendGetRequest(url); + + String url = aimProxyUrl + "/api/runs/search/run?query=" + encodedUrlString; + String s = HttpUtils.sendGet(url, null); List> response = JacksonUtil.parseJSONStr2MapList(s); - System.out.println("response: "+JacksonUtil.toJSONString(response)); - if (response == null || response.size() == 0){ + System.out.println("response: " + JacksonUtil.toJSONString(response)); + if (response == null || response.size() == 0) { return new ArrayList<>(); } //查询实例数据 List byExperimentId = experimentInsService.queryByExperimentId(experimentId); - if (byExperimentId == null || byExperimentId.size() == 0){ + if (byExperimentId == null || byExperimentId.size() == 0) { return new ArrayList<>(); } List aimRunInfoList = new ArrayList<>(); @@ -71,22 +87,22 @@ public class AimServiceImpl implements AimService { aimRunInfo.setRunId(runHash); - Map params= (Map) run.get("params"); + Map params = (Map) run.get("params"); Map paramMap = JsonUtils.flattenJson("", params); aimRunInfo.setParams(paramMap); String aimrunId = (String) paramMap.get("id"); - Map tracesMap= (Map) run.get("traces"); + Map tracesMap = (Map) run.get("traces"); List> metricList = (List>) tracesMap.get("metric"); //过滤name为__system__开头的对象 aimRunInfo.setMetrics(new HashMap<>()); - if (metricList != null && metricList.size() > 0){ + if (metricList != null && metricList.size() > 0) { List> metricRelList = metricList.stream() - .filter(map -> !StringUtils.startsWith((String) map.get("name"),"__system__" )) + .filter(map -> !StringUtils.startsWith((String) map.get("name"), "__system__")) .collect(Collectors.toList()); - if (metricRelList!= null && metricRelList.size() > 0){ + if (metricRelList != null && metricRelList.size() > 0) { Map relMetricMap = new HashMap<>(); for (Map metricMap : metricRelList) { - relMetricMap.put((String)metricMap.get("name"), metricMap.get("last_value")); + relMetricMap.put((String) metricMap.get("name"), metricMap.get("last_value")); } aimRunInfo.setMetrics(relMetricMap); } @@ -94,19 +110,19 @@ public class AimServiceImpl implements AimService { //找到ins for (ExperimentIns ins : byExperimentId) { String metricRecordString = ins.getMetricRecord(); - if (StringUtils.isEmpty(metricRecordString)){ + if (StringUtils.isEmpty(metricRecordString)) { continue; } - if (metricRecordString.contains(aimrunId)){ + if (metricRecordString.contains(aimrunId)) { aimRunInfo.setExperimentInsId(ins.getId()); aimRunInfo.setStatus(ins.getStatus()); aimRunInfo.setStartTime(ins.getCreateTime()); Map metricRecordMap = JacksonUtil.parseJSONStr2Map(metricRecordString); - if (isTrain){ + if (isTrain) { List> records = (List>) metricRecordMap.get("train"); List datasetList = getTrainDateSet(records, aimrunId); aimRunInfo.setDataset(datasetList); - }else { + } else { List> records = (List>) metricRecordMap.get("evaluate"); List datasetList = getTrainDateSet(records, aimrunId); aimRunInfo.setDataset(datasetList); @@ -137,17 +153,195 @@ public class AimServiceImpl implements AimService { return aimRunInfoList; } + public Page getExpInfos(boolean isTrain, Integer experimentId, int page, int size) { + PageRequest pageRequest = PageRequest.of(page, size); + long count = experimentInsDao.countTorE(experimentId, isTrain); + List experimentInsList = experimentInsDao.queryTorE(experimentId, isTrain, pageRequest); + + List aimRunInfoList = new ArrayList<>(); + for (ExperimentIns experimentIns : experimentInsList) { + InsMetricInfoVo aimRunInfo = new InsMetricInfoVo(); + aimRunInfo.setExperimentInsId(experimentIns.getId()); + aimRunInfo.setStartTime(experimentIns.getCreateTime()); + aimRunInfo.setStatus(experimentIns.getStatus()); + + //解析参数 + JSONArray params = JSON.parseArray(experimentIns.getGlobalParam()); + HashMap paramsMap = new HashMap<>(); + List paramsNames = new ArrayList<>(); + + for (int i = 0; i < params.size(); i++) { + JSONObject jsonObject = params.getJSONObject(i); + String paramName = jsonObject.getString("param_name"); + String paramValue = jsonObject.getString("param_value"); + paramsMap.put(paramName, paramValue); + paramsNames.add(paramName); + } + aimRunInfo.setParams(paramsMap); + aimRunInfo.setParamsNames(paramsNames); + + //解析数据集 + Map metricRecord = JacksonUtil.parseJSONStr2Map(experimentIns.getMetricRecord()); + if (isTrain) { + aimRunInfo.setDataset(getDataset("train", metricRecord)); + } else { + aimRunInfo.setDataset(getDataset("evaluate", metricRecord)); + } + + //解析指标 + if (StringUtils.isNotEmpty(experimentIns.getMetricValue())) { + Map metricValue = JacksonUtil.parseJSONStr2Map(experimentIns.getMetricValue()); + if (isTrain) { + setMetricValue("train", metricValue, aimRunInfo); + } else { + setMetricValue("evaluate", metricValue, aimRunInfo); + } + } + aimRunInfoList.add(aimRunInfo); + } + return new PageImpl<>(aimRunInfoList, pageRequest, count); + } + + + @Override + public List getExpInfos1(boolean isTrain, Integer experimentId, String runId) throws Exception { + String encodedUrlString = URLEncoder.encode("run.id==\"" + runId + "\"", "UTF-8"); + String url = aimProxyUrl + "/api/runs/search/run?query=" + encodedUrlString; + String s = HttpUtils.sendGet(url, null); + List> response = JacksonUtil.parseJSONStr2MapList(s); + System.out.println("response: " + JacksonUtil.toJSONString(response)); + if (response == null || response.size() == 0) { + return new ArrayList<>(); + } + //查询实例数据 + List byExperimentId = experimentInsService.queryByExperimentId(experimentId); + + if (byExperimentId == null || byExperimentId.size() == 0) { + return new ArrayList<>(); + } + List aimRunInfoList = new ArrayList<>(); + for (Map run : response) { + InsMetricInfoVo aimRunInfo = new InsMetricInfoVo(); + String runHash = (String) run.get("run_hash"); + + aimRunInfo.setRunId(runHash); + + Map params = (Map) run.get("params"); + Map paramMap = JsonUtils.flattenJson("", params); + aimRunInfo.setParams(paramMap); + String aimrunId = (String) paramMap.get("id"); + Map tracesMap = (Map) run.get("traces"); + List> metricList = (List>) tracesMap.get("metric"); + //过滤name为__system__开头的对象 + aimRunInfo.setMetrics(new HashMap<>()); + if (metricList != null && metricList.size() > 0) { + List> metricRelList = metricList.stream() + .filter(map -> !StringUtils.startsWith((String) map.get("name"), "__system__")) + .collect(Collectors.toList()); + if (metricRelList != null && metricRelList.size() > 0) { + Map relMetricMap = new HashMap<>(); + for (Map metricMap : metricRelList) { + relMetricMap.put((String) metricMap.get("name"), metricMap.get("last_value")); + } + aimRunInfo.setMetrics(relMetricMap); + } + } + //找到ins + for (ExperimentIns ins : byExperimentId) { + String metricRecordString = ins.getMetricRecord(); + if (StringUtils.isEmpty(metricRecordString)) { + continue; + } + if (metricRecordString.contains(aimrunId)) { + aimRunInfo.setExperimentInsId(ins.getId()); + aimRunInfo.setStatus(ins.getStatus()); + aimRunInfo.setStartTime(ins.getCreateTime()); + Map metricRecordMap = JacksonUtil.parseJSONStr2Map(metricRecordString); + if (isTrain) { + List> records = (List>) metricRecordMap.get("train"); + List datasetList = getTrainDateSet(records, aimrunId); + aimRunInfo.setDataset(datasetList); + } else { + List> records = (List>) metricRecordMap.get("evaluate"); + List datasetList = getTrainDateSet(records, aimrunId); + aimRunInfo.setDataset(datasetList); + } + aimRunInfoList.add(aimRunInfo); + } + } + } + + //判断哪个最长 + + // 获取所有 metrics 的 key 的并集 + Set metricsKeys = (Set) aimRunInfoList.stream() + .map(InsMetricInfoVo::getMetrics) + .flatMap(metrics -> metrics.keySet().stream()) + .collect(Collectors.toSet()); + // 将并集赋值给每个 InsMetricInfoVo 的 metricsNames 属性 + aimRunInfoList.forEach(vo -> vo.setMetricsNames(new ArrayList<>(metricsKeys))); + + // 获取所有 params 的 key 的并集 + Set paramKeys = (Set) aimRunInfoList.stream() + .map(InsMetricInfoVo::getParams) + .flatMap(params -> params.keySet().stream()) + .collect(Collectors.toSet()); + // 将并集赋值给每个 InsMetricInfoVo 的 paramsNames 属性 + aimRunInfoList.forEach(vo -> vo.setParamsNames(new ArrayList<>(paramKeys))); + + return aimRunInfoList; + } + + private List getDataset(String isTrain, Map metricRecord) { + List datasetList = new ArrayList<>(); + List> trainMetricRecords = (List>) metricRecord.get(isTrain); + if (trainMetricRecords != null) { + for (Map trainMetricRecord : trainMetricRecords) { + String taskId = (String) trainMetricRecord.get("task_id"); + if (taskId.startsWith("model-" + isTrain)) { + List> datasets = (List>) trainMetricRecord.get("datasets"); + for (Map dataset : datasets) { + String datasetName = dataset.get("dataset_name") + ":" + dataset.get("dataset_version"); + datasetList.add(datasetName); + } + } + } + } + return datasetList; + } + + private void setMetricValue(String isTrain, Map metricValue, InsMetricInfoVo aimRunInfo) { + Map metricValues = (Map) metricValue.get(isTrain); + + HashMap metrics = new HashMap<>(); + List metricsNames = new ArrayList<>(); + + if (metricValues != null) { + for (String key : metricValues.keySet()) { + Map valueMap = (Map) metricValues.get(key); + aimRunInfo.setRunId((String) valueMap.get("run_hash")); + + metrics.putAll(valueMap.entrySet().stream().filter(entry -> !entry.getKey().equals("run_hash")).collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue + ))); + metricsNames.addAll(valueMap.keySet().stream().filter(entry -> !entry.equals("run_hash")).collect(Collectors.toList())); + } + } + aimRunInfo.setMetrics(metrics); + aimRunInfo.setMetricsNames(metricsNames); + } - private List getTrainDateSet(List> records, String aimrunId){ + private List getTrainDateSet(List> records, String aimrunId) { List datasetList = new ArrayList<>(); for (Map record : records) { - if (StringUtils.equals(aimrunId, (String)record.get("run_id"))) { + if (StringUtils.equals(aimrunId, (String) record.get("run_id"))) { List> datasets = (List>) record.get("datasets"); - if (datasets == null || datasets.size() == 0){ + if (datasets == null || datasets.size() == 0) { continue; } - for (Map dataset : datasets){ - String datasetName = (String) dataset.get("dataset_name")+":"+(String) dataset.get("dataset_version"); + for (Map dataset : datasets) { + String datasetName = (String) dataset.get("dataset_name") + ":" + (String) dataset.get("dataset_version"); datasetList.add(datasetName); } break; @@ -155,4 +349,44 @@ public class AimServiceImpl implements AimService { } return datasetList; } + + @Override + public HashMap queryMetricsParams(String runId) throws UnsupportedEncodingException { + String encodedUrlString = URLEncoder.encode("run.id==\"" + runId + "\"", "UTF-8"); + String url = aimProxyUrl + "/api/runs/search/run?query=" + encodedUrlString; + String s = HttpUtils.sendGet(url, null); + List> response = JacksonUtil.parseJSONStr2MapList(s); + if (response == null || response.size() == 0) { + return new HashMap<>(); + } + + HashMap resultMap = new HashMap<>(); + List> paramList = new ArrayList<>(); + + Map map = response.get(0); + LinkedHashMap traces = (LinkedHashMap) map.get("traces"); + if (traces != null) { + List> metrics = traces.get("metric"); + for (Map metric : metrics) { + Map metricParam = new HashMap<>(); + metricParam.put("context", metric.get("context")); + metricParam.put("name", metric.get("name")); + paramList.add(metricParam); + } + resultMap.put("params", JSON.toJSONString(paramList)); + } + resultMap.put("run_hash", map.get("run_hash")); + return resultMap; + } + + @Override + public List> getBatchMetric(String runHash, String body) { + String url = aimUrl + "/api/runs/" + runHash + "/metric/get-batch"; + String response = HttpUtils.sendPost(url, null, body); + if (StringUtils.isNotEmpty(response)) { + return JacksonUtil.parseJSONStr2MapList(response); + } + return null; + } + } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java index 55284187..a08d3db4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java @@ -1,6 +1,5 @@ package com.ruoyi.platform.service.impl; -import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.annotations.CheckDuplicate; import com.ruoyi.platform.domain.AssetIcon; @@ -9,14 +8,13 @@ import com.ruoyi.platform.domain.DatasetVersion; import com.ruoyi.platform.mapper.DatasetDao; import com.ruoyi.platform.mapper.DatasetVersionDao; import com.ruoyi.platform.service.*; -import com.ruoyi.platform.utils.*; +import com.ruoyi.platform.utils.BeansUtils; +import com.ruoyi.platform.utils.FileUtil; +import com.ruoyi.platform.utils.MinioUtil; import com.ruoyi.platform.vo.DatasetVo; -import com.ruoyi.platform.vo.GitProjectVo; -import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.VersionVo; import com.ruoyi.system.api.model.LoginUser; import io.minio.messages.Item; -import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; @@ -30,17 +28,13 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import redis.clients.jedis.Jedis; import javax.annotation.Resource; -import java.io.*; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.lang.reflect.Field; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -68,29 +62,12 @@ public class DatasetServiceImpl implements DatasetService { @Resource private MinioService minioService; - @Resource - private GitService gitService; - - @Resource - private DvcService dvcService; - // 固定存储桶名 @Value("${minio.dataReleaseBucketName}") private String bucketName; @Resource - private MinioUtil minioUtil; - - @Value("${spring.redis.host}") - private String redisHost; - @Value("${minio.accessKey}") - String accessKeyId; - @Value("${minio.secretKey}") - String secretAccessKey; - @Value("${minio.endpoint}") - String endpoint; - @Value("${git.endpoint}") - String gitendpoint; + private MinioUtil minioUtil; /** * 通过ID查询单条数据 @@ -128,8 +105,8 @@ public class DatasetServiceImpl implements DatasetService { /** * 分页查询 * - * @param dataset 筛选条件 - * @param pageRequest 分页对象 + * @param dataset 筛选条件 + * @param pageRequest 分页对象 * @return 查询结果 */ @Override @@ -169,7 +146,7 @@ public class DatasetServiceImpl implements DatasetService { @Override public Dataset update(Dataset dataset) { int currentState = dataset.getState(); - if (currentState == 0){ + if (currentState == 0) { throw new RuntimeException("数据集已被删除,无法更新。"); } LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -193,7 +170,7 @@ public class DatasetServiceImpl implements DatasetService { @Override public String removeById(Integer id) throws Exception { Dataset dataset = this.datasetDao.queryById(id); - if (dataset == null){ + if (dataset == null) { throw new Exception("数据集不存在"); } @@ -201,7 +178,7 @@ public class DatasetServiceImpl implements DatasetService { LoginUser loginUser = SecurityUtils.getLoginUser(); String username = loginUser.getUsername(); String createdBy = dataset.getCreateBy(); - if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ + if (!(StringUtils.equals(username, "admin") || StringUtils.equals(username, createdBy))) { throw new Exception("无权限删除该数据集"); } if (datasetVersionService.queryByDatasetId(id).size()>0){ @@ -248,7 +225,7 @@ public class DatasetServiceImpl implements DatasetService { e.printStackTrace(); throw new Exception("下载数据集文件错误"); } - } + } /** * 上传数据集 @@ -456,294 +433,4 @@ public class DatasetServiceImpl implements DatasetService { return results; } - - - @Override - public CompletableFuture newCreateDataset(DatasetVo datasetVo) { - return CompletableFuture.supplyAsync(() -> { - try { - String token = gitService.login("fanshuai", "h1n2x3j4y5@"); - LoginUser loginUser = SecurityUtils.getLoginUser(); - String ci4sUsername = loginUser.getUsername(); - Jedis jedis = new Jedis(redisHost); - String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); - Map userInfo = JsonUtils.jsonToMap(userReq); - Integer userId = (Integer) userInfo.get("user_id"); - // 拼接project - String repositoryName = ci4sUsername + "_dataset_" + DateUtils.dateTimeNow(); - GitProjectVo gitProjectVo = new GitProjectVo(); - gitProjectVo.setRepositoryName(repositoryName); - gitProjectVo.setName(datasetVo.getName()); - gitProjectVo.setDescription(datasetVo.getDescription()); - gitProjectVo.setPrivate(datasetVo.getAvailableRange() == 0); - gitProjectVo.setUserId(userId); - // 创建项目 - Map project = gitService.createProject(token, gitProjectVo); - // 创建分支 - String branchName = datasetVo.getVersion(); - gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master"); - // 定义标签 标签1:ci4s_dataset 标签2:DataTag 标签3:DataType - gitService.createTopic(token, (Integer) project.get("id"), "ci4s_dataset"); - gitService.createTopic(token, (Integer) project.get("id"), "DataTag_" + datasetVo.getDataTag()); - gitService.createTopic(token, (Integer) project.get("id"), "DataType_" + datasetVo.getDataType()); - // 得到项目地址 - String projectUrl = gitendpoint + "/" +(String) userInfo.get("login") + "/" + repositoryName + ".git"; - - // 得到用户操作的路径 - String url = datasetVo.getDatasetVersionVos().get(0).getUrl(); - String localPath = "E:/test/" + datasetVo.getName(); - String sourcePath = url.substring(0, url.lastIndexOf("/")); - // 命令行操作 git clone 项目地址 - DVCUtils.gitClone(localPath, projectUrl, branchName, "fanshuai", "h1n2x3j4y5@"); - String s3Path = "management-platform-files/" + ci4sUsername + "/datasets/" + repositoryName + "/" + branchName; - //拼接生产的元数据后写入yaml文件 - YamlUtils.generateYamlFile(JsonUtils.objectToMap(datasetVo),sourcePath, "dataset"); - - DVCUtils.moveFiles(sourcePath, localPath); - - - - // dvc init 初始化 - DVCUtils.dvcInit(localPath); - // 配置远程S3地址 - DVCUtils.dvcRemoteAdd(localPath, s3Path); - DVCUtils.dvcConfigS3Credentials(localPath, endpoint); - DVCUtils.dvcConfigS3Credentials2(localPath, accessKeyId); - DVCUtils.dvcConfigS3Credentials3(localPath, secretAccessKey); - // dvc 跟踪 - DVCUtils.dvcAdd(localPath, "data"); - // git commit - DVCUtils.gitAdd(localPath, "."); - DVCUtils.gitCommit(localPath, "commit from ci4s with " + loginUser.getUsername()); - DVCUtils.gitPush(localPath, "fanshuai", "h1n2x3j4y5@"); - // dvc push 到远程S3 - DVCUtils.dvcPush(localPath); - return "新增数据集成功"; - } catch (Exception e) { - throw new RuntimeException(e); - } - }); - } - - @Override - public CompletableFuture newCreateVersion(DatasetVo datasetVo) { - return CompletableFuture.supplyAsync(() -> { - try { - String token = gitService.login("fanshuai", "h1n2x3j4y5@"); - LoginUser loginUser = SecurityUtils.getLoginUser(); - String ci4sUsername = loginUser.getUsername(); - Jedis jedis = new Jedis(redisHost); - String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); - Map userInfo = JsonUtils.jsonToMap(userReq); - // 创建分支 - String branchName = StringUtils.isEmpty(datasetVo.getVersion())? "master" : datasetVo.getVersion(); - String repositoryName = datasetVo.getRepositoryName(); - if (StringUtils.equals(branchName, "master")) { - gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master"); - } - // 得到项目地址 - String projectUrl = gitendpoint + "/" +(String) userInfo.get("login") + "/" + repositoryName + ".git"; - - // 得到用户操作的路径 - String url = datasetVo.getDatasetVersionVos().get(0).getUrl(); - String localPath = "E:/test/"+ loginUser.getUsername()+"/datasets/"+ datasetVo.getName(); - String sourcePath = url.substring(0, url.lastIndexOf("/")); - // 命令行操作 git clone 项目地址 - DVCUtils.gitClone(localPath, projectUrl, branchName, "fanshuai", "h1n2x3j4y5@"); - String s3Path = "management-platform-files/" + ci4sUsername + "/datasets/" + repositoryName + "/" + branchName; - //拼接生产的元数据后写入yaml文件 - YamlUtils.generateYamlFile(JsonUtils.objectToMap(datasetVo),sourcePath, "dataset"); - - DVCUtils.moveFiles(sourcePath, localPath); - // dvc init 初始化 - DVCUtils.dvcInit(localPath); - // 配置远程S3地址 - DVCUtils.dvcRemoteAdd(localPath, s3Path); - DVCUtils.dvcConfigS3Credentials(localPath, endpoint); - DVCUtils.dvcConfigS3Credentials2(localPath, accessKeyId); - DVCUtils.dvcConfigS3Credentials3(localPath, secretAccessKey); - // dvc 跟踪 - DVCUtils.dvcAdd(localPath, "data"); - // git commit - DVCUtils.gitAdd(localPath, "."); - DVCUtils.gitCommit(localPath, "commit from ci4s with " + loginUser.getUsername()); - DVCUtils.gitPush(localPath, "fanshuai", "h1n2x3j4y5@"); - // dvc push 到远程S3 - DVCUtils.dvcPush(localPath); - return "新增数据集成功"; - } catch (Exception e) { - throw new RuntimeException(e); - } - }); - } - - - @Override - public Page newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { - LoginUser loginUser = SecurityUtils.getLoginUser(); - String token = gitService.login("fanshuai", "h1n2x3j4y5@"); - String ci4sUsername = loginUser.getUsername(); - Jedis jedis = new Jedis(redisHost); - String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); - Map userInfo = JsonUtils.jsonToMap(userReq); - //拼接查询url - String datasetTagName = dataset.getDatasetTagName(); - String datasetTypeName = dataset.getDatasetTypeName(); - String topic_name = "ci4s_dataset"; - topic_name =StringUtils.isEmpty(datasetTagName)?topic_name : topic_name+",datatag_" + datasetTagName; - topic_name =StringUtils.isEmpty(datasetTagName)?topic_name : topic_name+",datatype_" + datasetTypeName; - String url = gitendpoint + "/api/users/"+(String) userInfo.get("login")+"/projects.json?page="+pageRequest.getPageNumber()+"&limit="+pageRequest.getPageSize()+"&category=manage&topic_name="+topic_name; - String req = HttpUtils.sendGetWithToken(url,null,token); - Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - Integer total = (Integer) stringObjectMap.get("count"); - List> projects = (List>) stringObjectMap.get("projects"); - return new PageImpl<>(convert(projects), pageRequest, total); - } - - @Override - public Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { - - LoginUser loginUser = SecurityUtils.getLoginUser(); - String token = gitService.login("fanshuai", "h1n2x3j4y5@"); - String ci4sUsername = loginUser.getUsername(); - Jedis jedis = new Jedis(redisHost); - String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); - Map userInfo = JsonUtils.jsonToMap(userReq); - Integer userId = (Integer) userInfo.get("user_id"); - //拼接查询url - String datasetTagName = dataset.getDatasetTagName(); - String datasetTypeName = dataset.getDatasetTypeName(); - String topic_name = "ci4s_dataset"; - topic_name =StringUtils.isEmpty(datasetTagName)?topic_name : topic_name+",datatag_" + datasetTagName; - topic_name =StringUtils.isEmpty(datasetTagName)?topic_name : topic_name+",datatype_" + datasetTypeName; - - String url = gitendpoint + "/api/projects.json?user_id="+userId+"&page="+pageRequest.getPageNumber()+"&limit="+pageRequest.getPageSize()+"&sort_by=praises_count&topic_name="+topic_name; - String req = HttpUtils.sendGetWithToken(url,null,token); - Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - Integer total = (Integer) stringObjectMap.get("total_count"); - List> projects = (List>) stringObjectMap.get("projects"); - return new PageImpl<>(convert(projects), pageRequest, total); - - } - - @Override - public List> uploadDatasetlocal(MultipartFile[] files, String uuid) throws Exception { - List> results = new ArrayList<>(); - - for (MultipartFile file:files){ - // 构建objectName - String username = SecurityUtils.getLoginUser().getUsername(); - String fileName = file.getOriginalFilename(); - String path = "/temp/"+ username +"/datasets/"+ uuid + "/"+"/data/" + fileName; - long sizeInBytes = file.getSize(); - String formattedSize = FileUtil.formatFileSize(sizeInBytes); - File targetFile = new File(path, file.getOriginalFilename()); - // 确保目录存在 - targetFile.getParentFile().mkdirs(); - // 保存文件到目标路径 - FileUtils.copyInputStreamToFile(file.getInputStream(), targetFile); - // 返回上传文件的路径 - String absolutePath = targetFile.getAbsolutePath(); - Map result = new HashMap<>(); - result.put("fileName", fileName); - result.put("url", absolutePath); // objectName根据实际情况定义 - result.put("fileSize", formattedSize); - results.add(result); - } - return results; - } - - @Override - public ResponseEntity downloadAllDatasetFilesNew(String repositoryName, String version) throws Exception { - // 命令行操作 git clone 项目地址 - LoginUser loginUser = SecurityUtils.getLoginUser(); - String token = gitService.login("fanshuai", "h1n2x3j4y5@"); - String ci4sUsername = loginUser.getUsername(); - Jedis jedis = new Jedis(redisHost); - String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); - Map userInfo = JsonUtils.jsonToMap(userReq); - Integer userId = (Integer) userInfo.get("user_id"); - String projectUrl = gitendpoint + "/" +(String) userInfo.get("login") + "/" + repositoryName + ".git"; - String localPath = "E:/test/"+ loginUser.getUsername()+"/datasets/" +repositoryName; - File folder = new File(localPath); - if(folder.exists() && folder.isDirectory()){ - //切换分支 - DVCUtils.gitCheckoutBranch(localPath, version); - //pull - DVCUtils.gitPull(localPath,"fanshuai", "h1n2x3j4y5@"); - //dvc pull - DVCUtils.dvcPull(localPath); - }else { - DVCUtils.gitClone(localPath, projectUrl, version, "fanshuai", "h1n2x3j4y5@"); - } - - // 打包 data 文件夹 - String dataFolderPath = localPath + "/data"; - String zipFilePath = localPath + "/data.zip"; - try (FileOutputStream fos = new FileOutputStream(zipFilePath); - ZipOutputStream zos = new ZipOutputStream(fos)) { - Path sourcePath = Paths.get(dataFolderPath); - Files.walk(sourcePath).forEach(path -> { - if (!Files.isDirectory(path)) { - ZipEntry zipEntry = new ZipEntry(sourcePath.relativize(path).toString()); - try { - zos.putNextEntry(zipEntry); - Files.copy(path, zos); - zos.closeEntry(); - } catch (IOException e) { - throw new RuntimeException("Error while zipping: " + path, e); - } - } - }); - } - - // 返回压缩文件的输入流 - File zipFile = new File(zipFilePath); - InputStreamResource resource = new InputStreamResource(new FileInputStream(zipFile)); - - return ResponseEntity.ok() - .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=data.zip") - .contentType(MediaType.APPLICATION_OCTET_STREAM) - .contentLength(zipFile.length()) - .body(resource); - - } - - - - public List convert(List> lst) { - if (lst != null && lst.size() > 0) { - List newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class); - - for (NewDatasetVo newDatasetVo : newDatasetVos) { - Map map = lst.stream() - .filter(m -> m.get("repo_id").equals(newDatasetVo.getRepoId())) - .findFirst() - .orElse(null); - - if (map != null) { - List> topics = (List>) map.get("topics"); - if (topics != null) { - topics.forEach(topic -> { - String name = (String) topic.get("name"); - if (name != null) { - if (name.startsWith("datatag_")) { - newDatasetVo.setDataTag(name.substring("datatag_".length())); - } else if (name.startsWith("datatype_")) { - newDatasetVo.setDataType(name.substring("datatype_".length())); - } - } - }); - } - - Map author = (Map) map.get("author"); - newDatasetVo.setCreateBy((String) author.get("name")); - } - } - - return newDatasetVos; - } - return new ArrayList<>(); - } - } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetTempStorageServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetTempStorageServiceImpl.java new file mode 100644 index 00000000..95f1f59e --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetTempStorageServiceImpl.java @@ -0,0 +1,87 @@ +package com.ruoyi.platform.service.impl; + +import com.ruoyi.platform.domain.DatasetTempStorage; +import com.ruoyi.platform.mapper.DatasetTempStorageDao; +import com.ruoyi.platform.service.DatasetTempStorageService; +import org.springframework.stereotype.Service; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; + +import javax.annotation.Resource; + +/** + * 数据集暂存的数据(DatasetTempStorage)表服务实现类 + * + * @author makejava + * @since 2024-09-12 09:42:10 + */ +@Service("datasetTempStorageService") +public class DatasetTempStorageServiceImpl implements DatasetTempStorageService { + @Resource + private DatasetTempStorageDao datasetTempStorageDao; + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + @Override + public DatasetTempStorage queryById(Integer id) { + return this.datasetTempStorageDao.queryById(id); + } + + /** + * 分页查询 + * + * @param datasetTempStorage 筛选条件 + * @param pageRequest 分页对象 + * @return 查询结果 + */ + @Override + public Page queryByPage(DatasetTempStorage datasetTempStorage, PageRequest pageRequest) { + long total = this.datasetTempStorageDao.count(datasetTempStorage); + return new PageImpl<>(this.datasetTempStorageDao.queryAllByLimit(datasetTempStorage, pageRequest), pageRequest, total); + } + + @Override + public DatasetTempStorage queryByDatasetTempStorage(DatasetTempStorage datasetTempStorage) { + return this.datasetTempStorageDao.queryByDatasetTempStorage(datasetTempStorage); + } + + /** + * 新增数据 + * + * @param datasetTempStorage 实例对象 + * @return 实例对象 + */ + @Override + public DatasetTempStorage insert(DatasetTempStorage datasetTempStorage) { + this.datasetTempStorageDao.insert(datasetTempStorage); + return datasetTempStorage; + } + + /** + * 修改数据 + * + * @param datasetTempStorage 实例对象 + * @return 实例对象 + */ + @Override + public DatasetTempStorage update(DatasetTempStorage datasetTempStorage) { + this.datasetTempStorageDao.update(datasetTempStorage); + return this.queryById(datasetTempStorage.getId()); + } + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + @Override + public boolean deleteById(Integer id) { + return this.datasetTempStorageDao.deleteById(id) > 0; + } +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java index 25b0df74..4a00ddb4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java @@ -165,9 +165,9 @@ public class DatasetVersionServiceImpl implements DatasetVersionService { .findFirst() .ifPresent(datasetVersion -> { String url = datasetVersion.getUrl(); - String path = bucketName + '/' + url.substring(0, url.lastIndexOf('/')); - response.put("path", path); - + response.put("path", url); +// String path = bucketName + '/' + url.substring(0, url.lastIndexOf('/')); +// response.put("path", path); }); response.put("content", datasetVersionList); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java index 7992f089..606d35aa 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java @@ -138,7 +138,7 @@ public class DevEnvironmentServiceImpl implements DevEnvironmentService { } @Override - public String removeById(Integer id) { + public String removeById(Integer id) throws Exception { DevEnvironment devEnvironment = this.devEnvironmentDao.queryById(id); if (devEnvironment == null){ return "开发环境信息不存在"; @@ -152,6 +152,7 @@ public class DevEnvironmentServiceImpl implements DevEnvironmentService { return "无权限删除该开发环境"; } + jupyterService.stopJupyterService(id); devEnvironment.setState(0); return this.devEnvironmentDao.update(devEnvironment)>0?"删除成功":"删除失败"; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DvcServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DvcServiceImpl.java index a962588f..192dfe7c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DvcServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DvcServiceImpl.java @@ -7,6 +7,8 @@ import com.ruoyi.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class DvcServiceImpl implements DvcService { @Value("${minio.accessKey}") @@ -15,20 +17,22 @@ public class DvcServiceImpl implements DvcService { String secretAccessKey; @Value("${minio.endpoint}") String endpoint; + @Resource + private DVCUtils dvcUtils; @Override public void initaddpushDvc(String localPath) throws Exception { LoginUser loginUser = SecurityUtils.getLoginUser(); // dvc init 初始化 - DVCUtils.dvcInit(localPath); + dvcUtils.dvcInit(localPath); // 配置远程S3地址 - DVCUtils.dvcRemoteAdd(localPath,""); -// DVCUtils.dvcConfigS3Credentials(localPath,endpoint, accessKeyId, secretAccessKey); + dvcUtils.dvcRemoteAdd(localPath,""); +// dvcUtils.dvcConfigS3Credentials(localPath,endpoint, accessKeyId, secretAccessKey); // dvc 跟踪 - DVCUtils.dvcAdd(localPath , "data"); + dvcUtils.dvcAdd(localPath , "data"); // git commit - DVCUtils.gitCommit(localPath, "commit from ci4s with "+loginUser.getUsername()); + dvcUtils.gitCommit(localPath, "commit from ci4s with "+loginUser.getUsername()); // dvc push 到远程S3 - DVCUtils.dvcPush(localPath); + dvcUtils.dvcPush(localPath); } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java index ece171ac..b7ff69b4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java @@ -1,9 +1,15 @@ package com.ruoyi.platform.service.impl; +import com.alibaba.fastjson2.JSON; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.platform.domain.DatasetTempStorage; +import com.ruoyi.platform.domain.Experiment; import com.ruoyi.platform.domain.ExperimentIns; +import com.ruoyi.platform.domain.ModelDependency1; +import com.ruoyi.platform.mapper.DatasetTempStorageDao; import com.ruoyi.platform.mapper.ExperimentDao; import com.ruoyi.platform.mapper.ExperimentInsDao; +import com.ruoyi.platform.mapper.ModelDependency1Dao; import com.ruoyi.platform.service.ExperimentInsService; import com.ruoyi.platform.service.WorkflowService; import com.ruoyi.platform.utils.*; @@ -36,13 +42,13 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Resource private WorkflowService workflowService; @Value("${argo.url}") - private String argoUrl; + private String argoUrl; @Value("${argo.convert}") - private String argoConvert; + private String argoConvert; @Value("${argo.workflowRun}") - private String argoWorkflowRun; + private String argoWorkflowRun; @Value("${argo.workflowStatus}") - private String argoWorkflowStatus; + private String argoWorkflowStatus; @Value("${argo.workflowTermination}") private String argoWorkflowTermination; @Value("${argo.workflowLog}") @@ -53,14 +59,30 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { private String argoWorkflowPodLog; @Value("${argo.ins.logsLines}") private int logsLines; + @Value("${minio.endpoint}") + private String minioEndpoint; + @Resource + private NewHttpUtils httpUtils; @Resource private K8sClientUtil k8sClientUtil; + @Resource + private ModelsServiceImpl modelsService; + @Resource + private NewDatasetServiceImpl newDatasetService; + + @Resource + private ModelDependency1Dao modelDependency1Dao; + + @Resource + private DatasetTempStorageDao datasetTempStorageDao; + private final MinioUtil minioUtil; public ExperimentInsServiceImpl(MinioUtil minioUtil) { this.minioUtil = minioUtil; } + public enum ExperimentInsStatus { Running, Succeeded, @@ -93,15 +115,13 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } /** - * - * * 根据实验ID查找所有具有相同ID的实例,并将它们添加到实验列表中 * * @param experimentId 实验ID * @return 实验列表 */ @Override - public List getByExperimentId(Integer experimentId) throws IOException { + public List getByExperimentId(Integer experimentId) { //代码全部迁移至定时任务 //搞个标记,当状态改变才去改表 @@ -152,15 +172,6 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { public Page queryByPage(ExperimentIns experimentIns, PageRequest pageRequest) throws IOException { long total = this.experimentInsDao.count(experimentIns); List experimentInsList = this.experimentInsDao.queryAllByLimit(experimentIns, pageRequest); -// if (experimentInsList!=null && experimentInsList.size()>0) { -// for (ExperimentIns ins : experimentInsList) { -// //如果实验实例不为空或者 -// if (ins != null && StringUtils.isEmpty(ins.getStatus())) { -// ins = this.queryStatusFromArgo(ins); -// this.update(ins); -// } -// } -// } return new PageImpl<>(experimentInsList, pageRequest, total); } @@ -183,8 +194,6 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } - - /** * 修改数据 * @@ -203,7 +212,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Override public String removeById(Integer id) { ExperimentIns experimentIns = experimentInsDao.queryById(id); - if (experimentIns == null){ + if (experimentIns == null) { return "实验实例不存在"; } @@ -211,21 +220,36 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { LoginUser loginUser = SecurityUtils.getLoginUser(); String username = loginUser.getUsername(); String createdBy = experimentIns.getCreateBy(); - if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ + if (!(StringUtils.equals(username, "admin") || StringUtils.equals(username, createdBy))) { return "无权限删除该流水线"; } - if (StringUtils.isEmpty(experimentIns.getStatus())){ + if (StringUtils.isEmpty(experimentIns.getStatus())) { experimentIns = queryStatusFromArgo(experimentIns); } - if (StringUtils.equals(experimentIns.getStatus(),"Running")){ + if (StringUtils.equals(experimentIns.getStatus(), "Running")) { return "实验实例正在运行,不可删除"; } experimentIns.setState(0); - return this.experimentInsDao.update(experimentIns)>0?"删除成功":"删除失败"; - + int update = this.experimentInsDao.update(experimentIns); + if (update > 0) { + updateExperimentStatus(experimentIns.getExperimentId()); + return "删除成功"; + } else { + return "删除失败"; + } } + @Override + public String batchDelete(List ids) { + for (Integer id : ids) { + String result = removeById(id); + if (!"删除成功".equals(result)) { + return result; + } + } + return "删除成功"; + } /** @@ -252,16 +276,16 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { Integer id = ins.getId(); // 创建请求数据map ExperimentIns experimentIns = this.experimentInsDao.queryById(id); - Map requestData = new HashMap<>(); + Map requestData = new HashMap<>(); requestData.put("namespace", namespace); requestData.put("name", name); // 创建发送数据map,将请求数据作为"data"键的值 - Map res = new HashMap<>(); + Map res = new HashMap<>(); res.put("data", requestData); try { // 发送POST请求到Argo工作流状态查询接口,并将请求数据转换为JSON - String req = HttpUtils.sendPost(argoUrl + argoWorkflowStatus, JsonUtils.mapToJson(res)); + String req = HttpUtils.sendPost(argoUrl + argoWorkflowStatus, null, JsonUtils.mapToJson(res)); // 检查响应是否为空或无内容 if (req == null || StringUtils.isEmpty(req)) { throw new RuntimeException("工作流状态响应为空。"); @@ -289,10 +313,10 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { // 解析nodes字段,提取节点状态并转换为JSON字符串 Map nodes = (Map) status.get("nodes"); - Map modifiedNodes = new LinkedHashMap<>(); - if (nodes != null ) { + Map modifiedNodes = new LinkedHashMap<>(); + if (nodes != null) { for (Map.Entry nodeEntry : nodes.entrySet()) { - Map nodeDetails = (Map) nodeEntry.getValue(); + Map nodeDetails = (Map) nodeEntry.getValue(); String templateName = (String) nodeDetails.get("displayName"); modifiedNodes.put(templateName, nodeDetails); } @@ -302,10 +326,10 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { experimentIns.setNodesStatus(nodeStatusJson); //终止态为终止不改 - if (!StringUtils.equals(experimentIns.getStatus(),"Terminated")) { - experimentIns.setStatus(StringUtils.isNotEmpty((String) status.get("phase"))?(String) status.get("phase"):"Pending"); + if (!StringUtils.equals(experimentIns.getStatus(), "Terminated")) { + experimentIns.setStatus(StringUtils.isNotEmpty((String) status.get("phase")) ? (String) status.get("phase") : "Pending"); } - if (StringUtils.equals(experimentIns.getStatus(),"Error")) { + if (StringUtils.equals(experimentIns.getStatus(), "Error")) { experimentIns.setStatus("Failed"); } @@ -346,16 +370,16 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } // 创建请求数据map - Map requestData = new HashMap<>(); + Map requestData = new HashMap<>(); requestData.put("namespace", namespace); requestData.put("name", name); // 创建发送数据map,将请求数据作为"data"键的值 - Map res = new HashMap<>(); + Map res = new HashMap<>(); res.put("data", requestData); try { // 发送POST请求到Argo工作流状态查询接口,并将请求数据转换为JSON - String req = HttpUtils.sendPost(argoUrl + argoWorkflowTermination, JsonUtils.mapToJson(res)); + String req = HttpUtils.sendPost(argoUrl + argoWorkflowTermination, null, JsonUtils.mapToJson(res)); // 检查响应是否为空或无内容 if (StringUtils.isEmpty(req)) { throw new RuntimeException("终止响应内容为空。"); @@ -368,9 +392,34 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { if (errCode != null && errCode == 0) { //更新experimentIns,确保状态更新被保存到数据库 ExperimentIns ins = queryStatusFromArgo(experimentIns); + String nodesStatus = ins.getNodesStatus(); + Map nodeMap = JsonUtils.jsonToMap(nodesStatus); + + // 遍历 map + for (Map.Entry entry : nodeMap.entrySet()) { + // 获取每个 Map 中的值并强制转换为 Map + Map innerMap = (Map) entry.getValue(); + + // 检查 phase 的值 + if (innerMap.containsKey("phase")) { + String phaseValue = (String) innerMap.get("phase"); + + // 如果值不等于 Succeeded,则赋值为 Failed + if (!StringUtils.equals("Succeeded", phaseValue)) { + innerMap.put("phase", "Failed"); + } + } + } + ins.setNodesStatus(JsonUtils.mapToJson(nodeMap)); ins.setStatus("Terminated"); ins.setFinishTime(new Date()); this.experimentInsDao.update(ins); + + //删除数据集模型导出版本 + deleteExportVersion(experimentIns); + //修改实验状态 + updateExperimentStatus(experimentIns.getExperimentId()); + return true; } else { return false; @@ -381,6 +430,40 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } + void deleteExportVersion(ExperimentIns experimentIns) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + + String nodesResult = experimentIns.getNodesResult(); + + if (StringUtils.isNotEmpty(nodesResult)) { + Map nodesResultMap = JsonUtils.jsonToMap(nodesResult); + Map paramOutput = (Map) nodesResultMap.get("param_output"); + + for (String key : paramOutput.keySet()) { + //删除导出模型版本 + if (key.contains("model-export")) { + HashMap queryMap = new HashMap(); + queryMap.put("insId", experimentIns.getId()); + ModelDependency1 modelDependency1 = modelDependency1Dao.queryByInsId(JSON.toJSONString(queryMap)); + String relativePath = ci4sUsername + "/model/" + modelDependency1.getRepoId() + "/" + modelDependency1.getIdentifier() + "/" + modelDependency1.getVersion() + "/model"; + modelsService.deleteVersion(modelDependency1.getRepoId(), modelDependency1.getIdentifier(), modelDependency1.getOwner(), modelDependency1.getVersion(), relativePath); + break; + } + //删除导出数据集版本 + if (key.contains("dataset-export")) { + HashMap queryMap = new HashMap(); + queryMap.put("ins_id", experimentIns.getId()); + DatasetTempStorage datasetTempStorage = datasetTempStorageDao.queryByInsId(JSON.toJSONString(queryMap)); + Map source = JsonUtils.jsonToMap(datasetTempStorage.getSource()); + String relativePath = ci4sUsername + "/datasets/" + source.get("repo_id") + "/" + source.get("identifier") + "/" + source.get("version") + "/dataset"; + newDatasetService.deleteDatasetVersionNew((String) source.get("identifier"), (String) source.get("owner"), (String) source.get("version"), relativePath); + break; + } + } + } + } + /** * 查询实验实例日志的单个节点日志 * @@ -400,20 +483,20 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { String namespace = experimentIns.getArgoInsNs(); // 创建请求数据的Json(map) - Map requestData = new HashMap<>(); + Map requestData = new HashMap<>(); requestData.put("namespace", namespace); requestData.put("name", name); //先写死这两个数据项 - requestData.put("workflow-type","workflows"); - requestData.put("artifact-name","main-logs"); - requestData.put("component-id",componentId); + requestData.put("workflow-type", "workflows"); + requestData.put("artifact-name", "main-logs"); + requestData.put("component-id", componentId); // 创建发送数据map,将请求数据作为"data"键的值 - Map res = new HashMap<>(); + Map res = new HashMap<>(); res.put("data", requestData); try { // 发送POST请求到Argo工作流日志查询接口,并将请求数据转换为JSON - String req = HttpUtils.sendPost(argoUrl + argoWorkflowLog, JsonUtils.mapToJson(res)); + String req = HttpUtils.sendPost(argoUrl + argoWorkflowLog, null, JsonUtils.mapToJson(res)); // 检查响应是否为空或无内容 if (StringUtils.isEmpty(req)) { throw new RuntimeException("响应内容为空"); @@ -422,7 +505,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { Map runResMap = JsonUtils.jsonToMap(req); // 从响应Map中获取"data"的值,也就是日志的值 String experimentInsLog = (String) runResMap.get("data"); - if (experimentInsLog == null){ + if (experimentInsLog == null) { throw new RuntimeException("日志为空。"); } //返回日志内容 @@ -440,28 +523,28 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { //查询 实例 ExperimentIns experimentIns = this.experimentInsDao.queryById(id); if (experimentIns == null) { - throw new Exception("实验实例未查询到,id:" + id); + throw new Exception("实验实例未查询到,id:" + id); } //找到 节点 节点结果 String nodesResultString = experimentIns.getNodesResult(); if (StringUtils.isEmpty(nodesResultString)) { - throw new Exception("实验实例未查询到节点结果,id:" + id); + throw new Exception("实验实例未查询到节点结果,id:" + id); } Map nodesResult = JsonUtils.jsonToMap(nodesResultString); Map paramOutput = (Map) nodesResult.get("param_output"); - List> nodeList = (List>) paramOutput.get(nodeId); + List> nodeList = (List>) paramOutput.get(nodeId); //遍历 查询minio for (int i = 0; i < nodeList.size(); i++) { Map map = nodeList.get(i); String path = (String) map.get("path"); String bucketName = path.substring(0, path.indexOf("/")); - String prefix = path.substring(path.indexOf("/")+1,path.length())+"/"; - if (StringUtils.equals( (String)map.get("type"),"file")){ + String prefix = path.substring(path.indexOf("/") + 1, path.length()) + "/"; + if (StringUtils.equals((String) map.get("type"), "file")) { List fileInfo = minioUtil.listFilesInDirectory(bucketName, prefix); - map.put("value",fileInfo); - }else if (StringUtils.equals( (String)map.get("type"),"string")){ + map.put("value", fileInfo); + } else if (StringUtils.equals((String) map.get("type"), "string")) { String resultInfo = minioUtil.readObjectAsString(bucketName, prefix); - map.put("value",resultInfo); + map.put("value", resultInfo); } results.add(map); //组装 @@ -478,14 +561,14 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { String taskId = logRequest.getTaskId(); String startTime = logRequest.getStartTime(); // 创建请求数据的Json(map) - Map requestData = new HashMap<>(); + Map requestData = new HashMap<>(); requestData.put("component_id", componentId); requestData.put("namespace", nameSpace); requestData.put("name", name); - requestData.put("task_id",taskId); - requestData.put("start_time",startTime); + requestData.put("task_id", taskId); + requestData.put("start_time", startTime); // 创建发送数据map,将请求数据作为"data"键的值 - Map res = new HashMap<>(); + Map res = new HashMap<>(); res.put("data", requestData); try { @@ -508,9 +591,9 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Override public Map getRealtimePodLog(String podName, String startTime) { - Map requestData = new HashMap<>(); - requestData.put("pod_name",podName); - requestData.put("start_time",startTime); + Map requestData = new HashMap<>(); + requestData.put("pod_name", podName); + requestData.put("start_time", startTime); try { // 将Map转换为JSON字符串 String req = HttpUtils.sendPost(argoUrl + argoWorkflowPodLog, JsonUtils.mapToJson(requestData)); @@ -531,7 +614,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Override public String getRealtimePodLogFromPod(PodLogVo podLogVo) { - return k8sClientUtil.getPodLogs(podLogVo.getPodName(), podLogVo.getNamespace(),podLogVo.getContainerName(), logsLines); + return k8sClientUtil.getPodLogs(podLogVo.getPodName(), podLogVo.getNamespace(), podLogVo.getContainerName(), logsLines); } @Override @@ -550,7 +633,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { experimentIns.setStatus(status.toString()); // 设置实例的状态为枚举中的状态 // 查询具有相同状态的实例数量 - Long count = experimentInsDao.count(experimentIns); + Long count = experimentInsDao.count(experimentIns); // 将状态及其对应的实例数量放入map中 statusCountMap.put(status.toString(), count); @@ -565,7 +648,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { boolean flag = true; List terminatedStates = Arrays.asList("Succeeded", "Failed"); flag = terminatedStates.contains(status); - if (StringUtils.equals(status, "Terminated")){ + if (StringUtils.equals(status, "Terminated")) { //如果跟node_status里面不一样,就要去更新node_status的信息 String nodesStatus = ins.getNodesStatus(); Map nodeMap = JsonUtils.jsonToMap(nodesStatus); @@ -574,13 +657,28 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { .findFirst() .orElse(null); Map workflowMap = (Map) nodeMap.get(keyStartsWithWorkflow); - if (workflowMap != null){ + if (workflowMap != null) { flag = StringUtils.equals("Terminated", (String) workflowMap.get("phase")); } } return flag; } + public void updateExperimentStatus(Integer experimentId) { + List insList = getByExperimentId(experimentId); + List statusList = new ArrayList<>(); + // 更新实验状态列表 + for (int i = 0; i < insList.size(); i++) { + statusList.add(insList.get(i).getStatus()); + } + String subStatus = statusList.toString().substring(1, statusList.toString().length() - 1); + Experiment experiment = experimentDao.queryById(experimentId); + experiment.setStatusList(subStatus); + List updateExperiments = new ArrayList<>(); + updateExperiments.add(experiment); + experimentDao.insertOrUpdateBatch(updateExperiments); + } + } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java index 388155d6..9ac0e089 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java @@ -1,16 +1,24 @@ package com.ruoyi.platform.service.impl; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.annotations.CheckDuplicate; +import com.ruoyi.platform.constant.Constant; import com.ruoyi.platform.domain.*; import com.ruoyi.platform.domain.dependencydomain.ProjectDepency; import com.ruoyi.platform.domain.dependencydomain.TrainTaskDepency; import com.ruoyi.platform.mapper.ExperimentDao; import com.ruoyi.platform.mapper.ExperimentInsDao; +import com.ruoyi.platform.mapper.ModelDependency1Dao; import com.ruoyi.platform.service.*; import com.ruoyi.platform.utils.HttpUtils; import com.ruoyi.platform.utils.JacksonUtil; import com.ruoyi.platform.utils.JsonUtils; +import com.ruoyi.platform.utils.YamlUtils; +import com.ruoyi.platform.vo.ModelsVo; +import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.system.api.model.LoginUser; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -25,6 +33,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; import java.lang.reflect.Field; +import java.math.BigDecimal; import java.util.*; /** @@ -46,7 +55,8 @@ public class ExperimentServiceImpl implements ExperimentService { private DatasetService datasetService; @Resource private ModelDependencyService modelDependencyService; - + @Resource + private DatasetTempStorageService datasetTempStorageService; @Resource @Lazy private WorkflowService workflowService; @@ -55,15 +65,19 @@ public class ExperimentServiceImpl implements ExperimentService { @Lazy private ExperimentInsService experimentInsService; + @Resource + private ModelDependency1Dao modelDependency1Dao; + @Value("${argo.url}") - private String argoUrl; + private String argoUrl; @Value("${argo.convert}") - private String argoConvert; + private String argoConvert; @Value("${argo.workflowRun}") - private String argoWorkflowRun; + private String argoWorkflowRun; @Value("${argo.workflowStatus}") - private String argoWorkflowStatus; - + private String argoWorkflowStatus; + @Value("${git.localPath}") + String localPath; /** * 通过ID查询单条数据 @@ -94,22 +108,20 @@ public class ExperimentServiceImpl implements ExperimentService { List experimentList = this.experimentDao.queryAllByLimit(experiment, pageRequest); long total = this.experimentDao.count(experiment); // 存储所有实验的ID列表,查询实验对应的流水线 - for(Experiment exp: experimentList){ + for (Experiment exp : experimentList) { Long workflowId = exp.getWorkflowId(); Workflow correspondingWorkflow = this.workflowService.queryById(workflowId); String workflowName = correspondingWorkflow.getName(); exp.setWorkflowName(workflowName); } - return new PageImpl<>(experimentList,pageRequest,total); + return new PageImpl<>(experimentList, pageRequest, total); } /** * 分页查询实验状态 * - * - * * @param experiment 筛选条件 * @param pageRequest 分页对象 * @return 查询结果 @@ -119,7 +131,7 @@ public class ExperimentServiceImpl implements ExperimentService { // 存储所有实验的ID列表 List experimentIds = new ArrayList<>(); //对于每一个从Experiment表中查询出来的id,可能有多个实例,每个实例的实验id是不同的 - for (Experiment exp: experimentList) { + for (Experiment exp : experimentList) { //返回所有实验ID相同的实例列表 List experimentInsList = this.experimentInsService.getByExperimentId(exp.getId()); exp.setExperimentInsList(experimentInsList); @@ -177,7 +189,7 @@ public class ExperimentServiceImpl implements ExperimentService { @Override public String removeById(Integer id) throws Exception { Experiment experiment = experimentDao.queryById(id); - if (experiment==null){ + if (experiment == null) { throw new Exception("实验不存在"); } @@ -185,17 +197,16 @@ public class ExperimentServiceImpl implements ExperimentService { LoginUser loginUser = SecurityUtils.getLoginUser(); String username = loginUser.getUsername(); String createdBy = experiment.getCreateBy(); - if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ + if (!(StringUtils.equals(username, "admin") || StringUtils.equals(username, createdBy))) { throw new Exception("无权限删除该实验"); } List experimentInsList = experimentInsService.queryByExperimentId(experiment.getId()); - if (experimentInsList!=null&&experimentInsList.size()>0){ + if (experimentInsList != null && experimentInsList.size() > 0) { throw new Exception("该实验存在实例,无法删除"); } experiment.setState(0); - return this.experimentDao.update(experiment)>0?"删除成功":"删除失败"; - + return this.experimentDao.update(experiment) > 0 ? "删除成功" : "删除失败"; } @@ -214,7 +225,7 @@ public class ExperimentServiceImpl implements ExperimentService { System.out.println("No experiment"); } Workflow workflow = workflowService.queryById(experiment.getWorkflowId()); - if(workflow == null) { + if (workflow == null) { throw new RuntimeException("流水线不存在,请先创建流水线"); } @@ -235,10 +246,10 @@ public class ExperimentServiceImpl implements ExperimentService { runReqMap.put("params", params); // 实验字段的Map,不要写成一行!否则会返回null Map experimentMap = new HashMap<>(); - experimentMap.put("name", "experiment-"+experiment.getId()); + experimentMap.put("name", "experiment-" + experiment.getId()); runReqMap.put("experiment", experimentMap); - Map output = (Map) converMap.get("output"); + Map output = (Map) converMap.get("output"); // 调argo运行接口 String runRes = HttpUtils.sendPost(argoUrl + argoWorkflowRun, JsonUtils.mapToJson(runReqMap)); @@ -253,7 +264,6 @@ public class ExperimentServiceImpl implements ExperimentService { } - Map metadata = (Map) data.get("metadata"); // 插入记录到实验实例表 ExperimentIns experimentIns = new ExperimentIns(); @@ -273,11 +283,11 @@ public class ExperimentServiceImpl implements ExperimentService { //得到dependendcy Map converMap2 = JsonUtils.jsonToMap(JacksonUtil.replaceInAarry(convertRes, params)); - Map dependendcy = (Map)converMap2.get("model_dependency"); - Map trainInfo = (Map)converMap2.get("component_info"); + Map dependendcy = (Map) converMap2.get("model_dependency"); + Map trainInfo = (Map) converMap2.get("component_info"); Map metricRecord = (Map) runResMap.get("metric_record"); - if (metricRecord != null){ + if (metricRecord != null) { //把训练用的数据集也放进去 addDatesetToMetric(metricRecord, trainInfo); experimentIns.setMetricRecord(JacksonUtil.toJSONString(metricRecord)); @@ -285,22 +295,32 @@ public class ExperimentServiceImpl implements ExperimentService { //插入ExperimentIns表中 ExperimentIns insert = experimentInsService.insert(experimentIns); //插入到模型依赖关系表 - if (dependendcy != null && trainInfo != null){ - insertModelDependency(dependendcy,trainInfo,insert.getId(),experiment.getName()); + if (dependendcy != null && trainInfo != null) { + insertModelDependencyNew(dependendcy, trainInfo, output, insert.getMetricRecord(), insert.getId(), workflow.getId(), experiment.getId(), experiment.getName(), experiment.getGlobalParam()); } - }catch (Exception e){ + + Map datasetDependendcy = (Map) converMap2.get("dataset_dependency"); + //暂存数据集元数据{} + if (datasetDependendcy != null && trainInfo != null) { + insertDatasetTempStorage(datasetDependendcy, trainInfo, experiment.getId(), insert.getId(), experiment.getName(), experiment.getWorkflowId()); + } + + + } catch (Exception e) { throw new RuntimeException(e); } List updatedExperimentInsList = experimentInsService.getByExperimentId(id); experiment.setExperimentInsList(updatedExperimentInsList); + experimentInsService.updateExperimentStatus(id); return experiment; } - private void addDatesetToMetric(Map metricRecord, Map trainInfo) { + + private void addDatesetToMetric(Map metricRecord, Map trainInfo) { processMetricPart(metricRecord, trainInfo, "train", "model_train"); processMetricPart(metricRecord, trainInfo, "evaluate", "model_evaluate"); } - private void processMetricPart(Map metricRecord, Map trainInfo, String metricKey, String trainInfoKey) { + private void processMetricPart(Map metricRecord, Map trainInfo, String metricKey, String trainInfoKey) { List> metricList = (List>) metricRecord.get(metricKey); if (metricList != null) { for (Map metricRecordItem : metricList) { @@ -312,10 +332,10 @@ public class ExperimentServiceImpl implements ExperimentService { List> datasets = (List>) trainInfoDetails.get("datasets"); if (datasets != null) { //查询名字再回填 - for (int i = 0; i < datasets.size(); i++) { - Dataset dataset = datasetService.queryById((Integer) datasets.get(i).get("dataset_id")); - datasets.get(i).put("dataset_name", dataset.getName()); - } +// for (int i = 0; i < datasets.size(); i++) { +// Dataset dataset = datasetService.queryById(Integer.valueOf((String) datasets.get(i).get("dataset_id"))); +// datasets.get(i).put("dataset_name", dataset.getName()); +// } metricRecordItem.put("datasets", datasets); } } @@ -325,24 +345,23 @@ public class ExperimentServiceImpl implements ExperimentService { } - - private void insertModelDependency(Map dependendcy,Map trainInfo, Integer experimentInsId, String experimentName) throws Exception { + private void insertModelDependency(Map dependendcy, Map trainInfo, Integer experimentInsId, String experimentName) throws Exception { Iterator> dependendcyIterator = dependendcy.entrySet().iterator(); - Map modelTrain = (Map) trainInfo.get("model_train"); - Map modelEvaluate = (Map) trainInfo.get("model_evaluate"); - Map modelExport = (Map) trainInfo.get("model_export"); + Map modelTrain = (Map) trainInfo.get("model_train"); + Map modelEvaluate = (Map) trainInfo.get("model_evaluate"); + Map modelExport = (Map) trainInfo.get("model_export"); while (dependendcyIterator.hasNext()) { ModelDependency modelDependency = new ModelDependency(); Map.Entry entry = dependendcyIterator.next(); Map modelDel = (Map) entry.getValue(); - Map source = (Map) modelDel.get("source"); + Map source = (Map) modelDel.get("source"); List> test = (List>) modelDel.get("test"); List> target = (List>) modelDel.get("target"); String sourceTaskId = (String) source.get("task_id"); - Map modelTrainMap = (Map)modelTrain.get(sourceTaskId); + Map modelTrainMap = (Map) modelTrain.get(sourceTaskId); //处理project数据 - Map projectMap = (Map) modelTrainMap.get("project"); + Map projectMap = (Map) modelTrainMap.get("project"); ProjectDepency projectDepency = new ProjectDepency(); projectDepency.setBranch(projectMap.get("branch")); String projectUrl = projectMap.get("url"); @@ -351,7 +370,7 @@ public class ExperimentServiceImpl implements ExperimentService { //依赖项目 modelDependency.setProjectDependency(JsonUtils.objectToJson(projectDepency)); //处理镜像 - Map imagesMap = (Map) modelTrainMap.get("image"); + Map imagesMap = (Map) modelTrainMap.get("image"); modelDependency.setTrainImage(imagesMap.get("name")); List> trainParamList = (List>) modelTrainMap.get("params"); modelDependency.setTrainParams(JsonUtils.objectToJson(trainParamList)); @@ -383,7 +402,7 @@ public class ExperimentServiceImpl implements ExperimentService { //训练数据集 modelDependency.setTrainDataset(JsonUtils.objectToJson(datasetsList)); TrainTaskDepency trainTaskDepency = new TrainTaskDepency(); - trainTaskDepency.setTaskId(sourceTaskId); +// trainTaskDepency.setTaskId(sourceTaskId); trainTaskDepency.setInsId(experimentInsId); trainTaskDepency.setName(experimentName); //训练任务 @@ -392,24 +411,24 @@ public class ExperimentServiceImpl implements ExperimentService { List> resultTestDatasets = new ArrayList>(); //处理test数据 if (test != null) { - for(int i=0;i testMap = test.get(i); String testTaskId = (String) testMap.get("task_id"); - Map evaluateMap = (Map) modelEvaluate.get(testTaskId); + Map evaluateMap = (Map) modelEvaluate.get(testTaskId); List> realDataSetList = (List>) evaluateMap.get("datasets"); - for(int j=0;j realDataSet = realDataSetList.get(j); Dataset dataset = datasetService.queryById((Integer) realDataSet.get("dataset_id")); - if (dataset == null){ + if (dataset == null) { throw new Exception("源数据集不存在"); } realDataSet.put("dataset_name", dataset.getName()); resultTestDatasets.add(realDataSet); } - } + } - //测试数据集 - modelDependency.setTestDataset(JsonUtils.objectToJson(resultTestDatasets)); + //测试数据集 + modelDependency.setTestDataset(JsonUtils.objectToJson(resultTestDatasets)); } //处理target数据 if (target != null) { @@ -427,7 +446,7 @@ public class ExperimentServiceImpl implements ExperimentService { modelDependencyService.insert(modelDependency); } } - }else { + } else { modelDependency.setState(2); modelDependencyService.insert(modelDependency); } @@ -435,9 +454,238 @@ public class ExperimentServiceImpl implements ExperimentService { } } + /** + * 存储数据集元数据到临时表 + */ + private void insertDatasetTempStorage(Map datasetDependendcy, Map trainInfo, Integer experimentId, Integer experimentInsId, String experimentName, Long workflowId) { + Iterator> dependendcyIterator = datasetDependendcy.entrySet().iterator(); + Map datasetExport = (Map) trainInfo.get("dataset_export"); + Map datasetPreprocess = (Map) trainInfo.get("general-data-process"); + while (dependendcyIterator.hasNext()) { + Map.Entry entry = dependendcyIterator.next(); + Map modelDel = (Map) entry.getValue(); + Map source = (Map) modelDel.get("source"); //被处理数据集 +// List> test = (List>) modelDel.get("test"); + List> target = (List>) modelDel.get("target"); //导出的数据集 + + String sourceTaskId = (String) source.get("task_id"); + Map datasetPreprocessMap = (Map) datasetPreprocess.get(sourceTaskId); + //处理project数据 + // 拼接需要的参数 + Map projectMap = (Map) datasetPreprocessMap.get("project"); + String projectUrl = (String) projectMap.get("url"); + String projectName = projectUrl.substring(projectUrl.lastIndexOf('/') + 1, projectUrl.length() - 4); + projectMap.put("name", projectName); + Map sourceParams = new HashMap<>(); + sourceParams.put("name", experimentName); + sourceParams.put("ins_id", experimentInsId); + sourceParams.put("experiment_id", experimentId); + sourceParams.put("train_name", sourceTaskId); + sourceParams.put("preprocess_code", projectMap); + sourceParams.put("workflow_id", workflowId); + + ArrayList> sourceDatasets = (ArrayList>) datasetPreprocessMap.get("datasets"); + if (sourceDatasets != null && sourceDatasets.size() > 0) { + Map dataset = sourceDatasets.get(0); + sourceParams.put("repo_id", dataset.get("dataset_id")); + sourceParams.put("identifier", dataset.get("dataset_identifier")); + sourceParams.put("version", dataset.get("dataset_version")); + sourceParams.put("owner", dataset.get("owner")); + } + + if (target != null && target.size() > 0) { + for (Map targetMap : target) { + String targetTaskId = (String) targetMap.get("task_id"); + Map datasetExportMap = (Map) datasetExport.get(targetTaskId); + List datasets = (List) datasetExportMap.get("datasets"); + if (datasets != null) { + for (Map dataset : datasets) { + DatasetTempStorage datasetTempStorage = new DatasetTempStorage(); + datasetTempStorage.setName((String) dataset.get("dataset_identifier")); + datasetTempStorage.setVersion((String) dataset.get("dataset_version")); + datasetTempStorage.setSource(JacksonUtil.toJSONString(sourceParams)); + datasetTempStorage.setState(1); + datasetTempStorageService.insert(datasetTempStorage); + } + } + + } + } + } + + } + + private void insertModelDependencyNew(Map dependendcy, Map trainInfo, Map output, String metricRecord, Integer experimentInsId, Long workflowId, Integer experimentId, String experimentName, String globalParam) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + Iterator> dependendcyIterator = dependendcy.entrySet().iterator(); + Map modelTrain = (Map) trainInfo.get("model_train"); + Map modelEvaluate = (Map) trainInfo.get("model_evaluate"); + Map modelExport = (Map) trainInfo.get("model_export"); + Map param_output = (Map) output.get("param_output"); + + while (dependendcyIterator.hasNext()) { + ModelsVo modelMetaVo = new ModelsVo(); + modelMetaVo.setInsId(experimentInsId); + modelMetaVo.setOwner(gitLinkUsername); + ModelDependency1 modelDependency = new ModelDependency1(); + modelDependency.setOwner(gitLinkUsername); + modelDependency.setState(Constant.State_building); + + Map.Entry entry = dependendcyIterator.next(); + Map modelDel = (Map) entry.getValue(); + Map source = (Map) modelDel.get("source"); + List> test = (List>) modelDel.get("test"); + List> target = (List>) modelDel.get("target"); + + String sourceTaskId = (String) source.get("task_id"); + Map modelTrainMap = (Map) modelTrain.get(sourceTaskId); + + //处理project数据 + Map projectMap = (Map) modelTrainMap.get("project"); + ProjectDepency projectDepency = new ProjectDepency(); + projectDepency.setBranch(projectMap.get("branch")); + String projectUrl = projectMap.get("url"); + projectDepency.setUrl(projectUrl); + projectDepency.setName(projectUrl.substring(projectUrl.lastIndexOf('/') + 1, projectUrl.length() - 4)); + modelMetaVo.setProjectDepency(projectDepency); + + //处理镜像 + Map imagesMap = (Map) modelTrainMap.get("image"); + modelMetaVo.setImage(imagesMap.get("name")); + + //处理训练参数 + HashMap trainParam = new HashMap<>(); + JSONArray jsonArray = JSONArray.parseArray(globalParam); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + String paramName = jsonObject.getString("param_name"); + String paramValue = jsonObject.getString("param_value"); + if (YamlUtils.isNumeric(paramValue)) { + BigDecimal bigDecimal = new BigDecimal(paramValue); + trainParam.put(paramName, bigDecimal); + } else { + trainParam.put(paramName, paramValue); + } + } + modelMetaVo.setParams(trainParam); + + //处理指标 + HashMap metricMap = JSON.parseObject(metricRecord, HashMap.class); + modelMetaVo.setMetricsParams(metricMap); + + //训练数据集 + List> trainDatasetList = (List>) modelTrainMap.get("datasets"); + if (trainDatasetList != null) { + List trainDatasets = new ArrayList<>(); + for (Map dataset : trainDatasetList) { + NewDatasetVo newDatasetVo = new NewDatasetVo(); + newDatasetVo.setId(Integer.valueOf((String) dataset.get("dataset_id"))); + newDatasetVo.setName((String) dataset.get("dataset_name")); + newDatasetVo.setVersion((String) dataset.get("dataset_version")); + newDatasetVo.setIdentifier((String) dataset.get("dataset_identifier")); + newDatasetVo.setOwner((String) dataset.get("owner")); + trainDatasets.add(newDatasetVo); + } + modelMetaVo.setTrainDatasets(trainDatasets); + } + + //训练任务 + TrainTaskDepency trainTask = new TrainTaskDepency(); + trainTask.setWorkflowId(workflowId); + trainTask.setInsId(experimentInsId); + trainTask.setName(experimentName); + trainTask.setExperimentId(experimentId); + trainTask.setTaskId(sourceTaskId); + modelMetaVo.setTrainTask(trainTask); + + //处理source数据 + List> modelsList = (List>) modelTrainMap.get("models"); + if (modelsList != null) { + Map parentModelMap = modelsList.get(0); + String id = (String) parentModelMap.get("model_id"); + String identifier = (String) parentModelMap.get("model_identifier"); + String version = (String) parentModelMap.get("model_version"); + + HashMap map = new HashMap<>(); + map.put("repoId", id); + map.put("identifier", identifier); + map.put("version", version); + String parentModel = JSON.toJSONString(map); + modelMetaVo.setParentModel(parentModel); + + modelDependency.setParentModel(parentModel); + modelDependency.setMeta(JSON.toJSONString(modelMetaVo)); + modelDependency1Dao.insert(modelDependency); + } + + //处理test数据 + if (test != null) { + for (Map testMap : test) { + String testTaskId = (String) testMap.get("task_id"); + Map evaluateMap = (Map) modelEvaluate.get(testTaskId); + List> testDatasetList = (List>) evaluateMap.get("datasets"); + List testDatasets = new ArrayList<>(); + for (Map dataset : testDatasetList) { + NewDatasetVo newDatasetVo = new NewDatasetVo(); + newDatasetVo.setId(Integer.valueOf((String) dataset.get("dataset_id"))); + newDatasetVo.setName((String) dataset.get("dataset_name")); + newDatasetVo.setVersion((String) dataset.get("dataset_version")); + newDatasetVo.setIdentifier((String) dataset.get("dataset_identifier")); + newDatasetVo.setOwner((String) dataset.get("owner")); + testDatasets.add(newDatasetVo); + } + modelMetaVo.setTestDatasets(testDatasets); + } + } + + //处理target数据 + if (target != null) { + for (int i = 0; i < target.size(); i++) { + Map targetMap = target.get(i); + String targetTaskId = (String) targetMap.get("task_id"); + Map exportMap = (Map) modelExport.get(targetTaskId); + List> modelTargetList = (List>) exportMap.get("models"); + List> outputList = (List>) param_output.get(targetTaskId); + + for (int j = 0; j < modelTargetList.size(); j++) { + Map targetModel = modelTargetList.get(i); + modelMetaVo.setId(Integer.valueOf((String) targetModel.get("model_id"))); + modelMetaVo.setIdentifier((String) targetModel.get("model_identifier")); + modelMetaVo.setName((String) targetModel.get("model_name")); + modelMetaVo.setVersion((String) targetModel.get("model_version")); + +// List versionVos = new ArrayList<>(); +// for (Map outputFile : outputList) { +// String path = (String) outputFile.get("path"); +// List> files = FileUtil.getFiles(path); +// for (Map fileDetail : files) { +// VersionVo versionVo = new VersionVo(); +// versionVo.setUrl((String) fileDetail.get("filePath")); +// versionVo.setFileName((String) fileDetail.get("fileName")); +// long size = (long) fileDetail.get("size"); +// versionVo.setFileSize(FileUtil.formatFileSize(size)); +// versionVos.add(versionVo); +// } +// } +// modelMetaVo.setModelVersionVos(versionVos); + + modelDependency.setRepoId(Integer.valueOf((String) targetModel.get("model_id"))); + modelDependency.setIdentifier((String) targetModel.get("model_identifier")); + modelDependency.setVersion((String) targetModel.get("model_version")); + modelDependency.setModelName((String) targetModel.get("model_name")); + modelDependency.setMeta(JSON.toJSONString(modelMetaVo)); + modelDependency1Dao.insert(modelDependency); + } + } + } + } + } + /** * 被废弃的旧JSON - * @param experiment + * + * @param experiment * @return * @throws Exception */ @@ -536,7 +784,6 @@ public class ExperimentServiceImpl implements ExperimentService { // } // } // } - @Override public Experiment addAndRunExperiment(Experiment experiment) throws Exception { // 第一步: 调用add方法插入实验记录到数据库 @@ -547,7 +794,7 @@ public class ExperimentServiceImpl implements ExperimentService { } // 调用runExperiment方法运行实验 try { - newExperiment = this.runExperiment(newExperiment.getId()); + newExperiment = this.runExperiment(newExperiment.getId()); } catch (Exception e) { throw new RuntimeException(e); } @@ -556,7 +803,6 @@ public class ExperimentServiceImpl implements ExperimentService { } - /** * 返回实验配置参数 * @@ -599,6 +845,4 @@ public class ExperimentServiceImpl implements ExperimentService { } - - } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/GitServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/GitServiceImpl.java index 40980dc9..3fd29369 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/GitServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/GitServiceImpl.java @@ -1,20 +1,26 @@ package com.ruoyi.platform.service.impl; -import com.fasterxml.jackson.core.JsonProcessingException; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.service.GitService; -import com.ruoyi.platform.utils.HttpUtils; +import com.ruoyi.platform.utils.JacksonUtil; import com.ruoyi.platform.utils.JsonUtils; +import com.ruoyi.platform.utils.NewHttpUtils; import com.ruoyi.platform.vo.GitProjectVo; import com.ruoyi.system.api.model.LoginUser; import org.apache.commons.lang3.StringUtils; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.errors.GitAPIException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import redis.clients.jedis.Jedis; +import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; import java.util.HashMap; +import java.util.List; import java.util.Map; @Service @@ -22,7 +28,12 @@ public class GitServiceImpl implements GitService { @Value("${spring.redis.host}") private String redisHost; - + @Value("${spring.redis.port}") + private Integer redisPort; + @Value("${git.endpoint}") + String gitendpoint; + @Resource + private NewHttpUtils httpUtils; private static final Logger log = LoggerFactory.getLogger(GitServiceImpl.class); @Override @@ -36,7 +47,7 @@ public class GitServiceImpl implements GitService { params.put("client_secret", "L3wBKTNnRo-wPen7bxR3F1myCvtVDgpWa6MnpfyWeJE"); try { // 发送POST请求 - String req = HttpUtils.sendPostRequest("https://www.gitlink.org.cn/oauth/token",null, JsonUtils.mapToJson(params)); + String req = httpUtils.sendPost(gitendpoint + "/oauth/token", null, JsonUtils.mapToJson(params)); // 解析响应JSON if (StringUtils.isEmpty(req)) { throw new RuntimeException("终止响应内容为空。"); @@ -48,16 +59,16 @@ public class GitServiceImpl implements GitService { String accessToken = (String) runResMap.get("access_token"); //通过access_token获取用户信息 - String userReq = HttpUtils.sendGetWithToken("https://www.gitlink.org.cn/api/users/get_user_info.json",null, accessToken); + String userReq = httpUtils.sendGetWithToken(gitendpoint + "/api/users/get_user_info.json", null, accessToken); if (StringUtils.isEmpty(userReq)) { throw new RuntimeException("终止响应内容为空。"); } LoginUser loginUser = SecurityUtils.getLoginUser(); String ci4sUsername = loginUser.getUsername(); // 将access_token存入Redis - Jedis jedis = new Jedis(redisHost); - jedis.set(ci4sUsername+"_gitToken", accessToken); - jedis.set(ci4sUsername+"_gitUserInfo", userReq); + Jedis jedis = new Jedis(redisHost, redisPort); + jedis.set(ci4sUsername + "_gitToken", accessToken); + jedis.set(ci4sUsername + "_gitUserInfo", userReq); return accessToken; } catch (Exception e) { log.error("登录GitLink失败。", e); @@ -65,24 +76,50 @@ public class GitServiceImpl implements GitService { } } + public String checkoutToken() { + Jedis jedis = new Jedis(redisHost, redisPort); + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String token = jedis.get(ci4sUsername + "_gitToken"); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + + if (StringUtils.isEmpty(token)) { + login(gitLinkUsername, gitLinkPassword); + token = jedis.get(ci4sUsername + "_gitToken"); + } else { + try { + Map userInfo = getUserInfo(token); + if (userInfo == null || (userInfo.get("status") != null && 401 == (Integer) userInfo.get("status"))) { + login(gitLinkUsername, gitLinkPassword); + token = jedis.get(ci4sUsername + "_gitToken"); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + return token; + } + @Override public Map createProject(String token, GitProjectVo gitProjectVo) throws Exception { - String userReq = HttpUtils.sendPostWithToken("https://www.gitlink.org.cn/api/projects.json",JsonUtils.objectToJson(gitProjectVo),token); + String userReq = httpUtils.sendPostWithToken(gitendpoint + "/api/projects.json", null, token, JsonUtils.objectToJson(gitProjectVo)); return JsonUtils.jsonToMap(userReq); } @Override - public void createBranch(String token,String owner, String projectName, String branchName, String oldBranchName) throws Exception { + public void createBranch(String token, String owner, String projectName, String branchName, String oldBranchName) throws Exception { //https://www.gitlink.org.cn/api/v1/fanshuai/testdssa8755/branches.json // { // "new_branch_name": "SsS", // "old_branch_name": "master" // } - String createBranchUrl = "https://www.gitlink.org.cn/api/v1/"+ owner + "/" + projectName + "/branches.json"; + String createBranchUrl = "https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches.json"; Map resMap = new HashMap<>(); resMap.put("new_branch_name", branchName); resMap.put("old_branch_name", oldBranchName); - String req = HttpUtils.sendPostWithToken(createBranchUrl,JsonUtils.objectToJson(resMap),token); + String req = httpUtils.sendPostWithToken(createBranchUrl, null, token, JsonUtils.objectToJson(resMap)); System.out.println(req); } @@ -92,7 +129,54 @@ public class GitServiceImpl implements GitService { Map resMap = new HashMap<>(); resMap.put("project_id", id); resMap.put("name", topicName); - String req = HttpUtils.sendPostWithToken("https://www.gitlink.org.cn/api/v1/project_topics.json",JsonUtils.objectToJson(resMap),token); - System.out.println(req); + String req = httpUtils.sendPostWithToken(gitendpoint + "/api/v1/project_topics.json", null, token, JsonUtils.objectToJson(resMap)); + } + + @Override + public List> getBrancheList(String token, String owner, String projectName) throws Exception { + String req = httpUtils.sendGetWithToken(gitendpoint + "/api/v1/" + owner + "/" + projectName + "/branches/all.json", null, token); + // 解析响应JSON + if (StringUtils.isEmpty(req)) { + throw new RuntimeException("终止响应内容为空。"); + } + // 将响应的JSON字符串转换为List对象 + List> mapList = JacksonUtil.parseJSONStr2MapList(req); + return mapList; + } + + @Override + public void deleteProject(String token, String owner, String projectName) throws Exception { + httpUtils.sendDeleteWithToken(gitendpoint + "/api/" + owner + "/" + projectName + ".json", null, token); + } + + @Override + public void deleteBranch(String token, String owner, String projectName, String branchName, String localPath) throws Exception { + try (Git git = Git.open(new File(localPath))) { + git.checkout().setName("master").call(); + git.branchDelete().setBranchNames(branchName).setForce(true).call(); + } catch (IOException | GitAPIException e) { + log.error("Exception occurred while creating local branch based on master", e); + } + httpUtils.sendDeleteWithToken(gitendpoint + "/api/v1/" + owner + "/" + projectName + "/branches/" + branchName + ".json", null, token); + } + + @Override + public Map getUserInfo(String token) throws Exception { + String userReq = httpUtils.sendGetWithToken(gitendpoint + "/api/users/get_user_info.json", null, token); + if (StringUtils.isEmpty(userReq)) { + return null; + } + Map runResMap = JsonUtils.jsonToMap(userReq); + return runResMap; + } + + @Override + public Map getProjectDetail(String owner, String identifier, String token) throws IOException { + String userReq = httpUtils.sendGetWithToken(gitendpoint + "/api/" + owner + "/" + identifier + "/detail.json", null, token); + if (StringUtils.isEmpty(userReq)) { + return null; + } + Map runResMap = JsonUtils.jsonToMap(userReq); + return runResMap; } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java index 582af8c9..8eb6ab68 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java @@ -61,8 +61,10 @@ public class ImageServiceImpl implements ImageService { @Resource private MinioService minioService; - @Value("${harbor.bucketName}") + @Value("${minio.dataReleaseBucketName}") private String bucketName; + // @Value("${harbor.bucketName}") +// private String bucketName; @Value("${harbor.repository}") private String repository; @Value("${harbor.harborUrl}") @@ -182,12 +184,14 @@ public class ImageServiceImpl implements ImageService { // } List imageVersions = imageVersionService.queryByImageId(id); - for (ImageVersion imageVersion :imageVersions) { - dockerClientUtil.removeImage(imageVersion.getUrl(), imageVersion.getHostIp()); + for (ImageVersion imageVersion : imageVersions) { + if (StringUtils.isNotEmpty(imageVersion.getHostIp())) { + dockerClientUtil.removeImage(imageVersion.getUrl(), imageVersion.getHostIp()); + } } image.setState(0); - return this.imageDao.update(image) > 0 ? "删除成功" : "删除失败"; + return this.imageDao.update(image) > 0 ? "删除成功" : "删除失败"; } @@ -362,7 +366,7 @@ public class ImageServiceImpl implements ImageService { @Override public Map uploadImageFiles(MultipartFile file) throws Exception { LoginUser loginUser = SecurityUtils.getLoginUser(); - String path = loginUser.getUsername() + "/" + file.getOriginalFilename(); + String path = "images/" + loginUser.getUsername() + "/" + file.getOriginalFilename(); return minioService.uploadFile(bucketName, path, file); } @@ -374,10 +378,10 @@ public class ImageServiceImpl implements ImageService { if (oldImage != null) { List oldImageVersions = imageVersionDao.queryByImageId(oldImage.getId()); for (ImageVersion oldImageVersion : oldImageVersions) { - if(oldImageVersion.getTagName().equals(imageVo.getTagName())){ + if (oldImageVersion.getTagName().equals(imageVo.getTagName())) { throw new IllegalStateException("镜像tag不能重复"); } - } + } } LoginUser loginUser = SecurityUtils.getLoginUser(); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java index e6380f3a..87111365 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java @@ -43,7 +43,7 @@ public class JupyterServiceImpl implements JupyterService { private String masterIp; @Value("${k8s.storageClassName}") private String storageClassName; - @Value("${minio.pvcName}") + @Value("${minio.platformPvcName}") private String minioPvcName; private final MinioUtil minioUtil; @@ -90,22 +90,25 @@ public class JupyterServiceImpl implements JupyterService { // 提取数据集,模型信息,得到数据集模型的path Map dataset = JacksonUtil.parseJSONStr2Map(devEnvironment.getDataset()); - String datasetPath = "argo-workflow" + "/" + dataset.get("path"); +// String datasetPath = "argo-workflow" + "/" + dataset.get("path"); + String datasetPath = (String) dataset.get("path"); Map model = JacksonUtil.parseJSONStr2Map(devEnvironment.getModel()); - String modelPath = "argo-workflow" + "/" + model.get("path"); +// String modelPath = "argo-workflow" + "/" + model.get("path"); + String modelPath = (String) model.get("path"); LoginUser loginUser = SecurityUtils.getLoginUser(); //构造pod名称 String podName = loginUser.getUsername().toLowerCase() + "-editor-pod" + "-" + id; - String pvcName = loginUser.getUsername().toLowerCase() + "-editor-pvc"; //新建编辑器的pvc - V1PersistentVolumeClaim pvc = k8sClientUtil.createPvc(namespace, pvcName, storage, storageClassName); +// String pvcName = loginUser.getUsername().toLowerCase() + "-editor-pvc"; +// V1PersistentVolumeClaim pvc = k8sClientUtil.createPvc(namespace, pvcName, storage, storageClassName); //TODO 设置镜像可配置,这里先用默认镜像启动pod // 调用修改后的 createPod 方法,传入额外的参数 - Integer podPort = k8sClientUtil.createConfiguredPod(podName, namespace, port, mountPath, pvc, devEnvironment, minioPvcName, datasetPath, modelPath); +// Integer podPort = k8sClientUtil.createConfiguredPod(podName, namespace, port, mountPath, pvc, devEnvironment, minioPvcName, datasetPath, modelPath); + Integer podPort = k8sClientUtil.createConfiguredPod(podName, namespace, port, mountPath, null, devEnvironment, minioPvcName, datasetPath, modelPath); String url = masterIp + ":" + podPort; redisService.setCacheObject(podName, masterIp + ":" + podPort); devEnvironment.setStatus("Pending"); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/MinioServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/MinioServiceImpl.java index e03183dd..380f96c6 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/MinioServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/MinioServiceImpl.java @@ -4,6 +4,7 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.service.MinioService; import com.ruoyi.platform.utils.FileUtil; import com.ruoyi.platform.utils.MinioUtil; +import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -62,7 +63,9 @@ public class MinioServiceImpl implements MinioService { try (InputStream inputStream = file.getInputStream()){ minioUtil.uploadObject(bucketName, objectName, inputStream); result.put("fileName", file.getOriginalFilename()); - result.put("url", objectName); // objectName根据实际情况定义 + int lastIndex = objectName.lastIndexOf('/'); + String url = objectName.substring(0, lastIndex); + result.put("url", url); // objectName根据实际情况定义 result.put("fileSize", formattedSize); } catch (Exception e) { throw new Exception("上传文件失败: " + e.getMessage(), e); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index b3603484..a39905a4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -1,27 +1,32 @@ package com.ruoyi.platform.service.impl; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.annotations.CheckDuplicate; +import com.ruoyi.platform.constant.Constant; import com.ruoyi.platform.domain.AssetIcon; -import com.ruoyi.platform.domain.Dataset; +import com.ruoyi.platform.domain.ModelDependency1; import com.ruoyi.platform.domain.Models; import com.ruoyi.platform.domain.ModelsVersion; +import com.ruoyi.platform.domain.dependencydomain.TrainTaskDepency; +import com.ruoyi.platform.mapper.ModelDependency1Dao; import com.ruoyi.platform.mapper.ModelsDao; import com.ruoyi.platform.mapper.ModelsVersionDao; -import com.ruoyi.platform.service.AssetIconService; -import com.ruoyi.platform.service.MinioService; -import com.ruoyi.platform.service.ModelsService; -import com.ruoyi.platform.service.ModelsVersionService; -import com.ruoyi.platform.utils.BeansUtils; -import com.ruoyi.platform.utils.FileUtil; -import com.ruoyi.platform.utils.MinioUtil; -import com.ruoyi.platform.vo.ModelsVo; -import com.ruoyi.platform.vo.VersionVo; +import com.ruoyi.platform.service.*; +import com.ruoyi.platform.utils.*; +import com.ruoyi.platform.vo.*; import com.ruoyi.system.api.model.LoginUser; import io.minio.messages.Item; -import io.netty.util.Version; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.core.io.InputStreamResource; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; @@ -32,14 +37,17 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import redis.clients.jedis.Jedis; import javax.annotation.Resource; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; +import java.io.*; import java.lang.reflect.Field; import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -52,6 +60,9 @@ import java.util.zip.ZipOutputStream; */ @Service("modelsService") public class ModelsServiceImpl implements ModelsService { + + private static final Logger logger = LoggerFactory.getLogger(ModelsServiceImpl.class); + @Resource private ModelsDao modelsDao; @Resource @@ -60,19 +71,47 @@ public class ModelsServiceImpl implements ModelsService { @Resource private ModelsVersionService modelsVersionService; + @Resource + private ModelDependency1Dao modelDependency1Dao; + @Resource private MinioService minioService; + @Resource + private GitService gitService; + @Resource private AssetIconService assetIconService; + @Resource + @Lazy + private AimService aimsService; + + @Resource + private NewHttpUtils httpUtils; + @Resource + private DVCUtils dvcUtils; // 固定存储桶名 @Value("${minio.dataReleaseBucketName}") private String bucketName; @Resource - private MinioUtil minioUtil; + private MinioUtil minioUtil; + @Value("${spring.redis.host}") + private String redisHost; + @Value("${spring.redis.port}") + private Integer redisPort; + @Value("${git.endpoint}") + String gitendpoint; + @Value("${git.localPath}") + String localPath; + @Value("${minio.accessKey}") + String accessKeyId; + @Value("${minio.secretKey}") + String secretAccessKey; + @Value("${minio.endpoint}") + String endpoint; /** * 通过ID查询单条数据 @@ -86,15 +125,15 @@ public class ModelsServiceImpl implements ModelsService { String modelType = models.getModelType(); String modelTag = models.getModelTag(); //去资产管理表中查询对应的图标名,注意判空逻辑,只有当dataType和dataTag不为空时,才进行查询 - if(modelType != null && !modelType.isEmpty()){ + if (modelType != null && !modelType.isEmpty()) { AssetIcon modelTypeAssetIcon = assetIconService.queryById(Integer.valueOf(modelType)); - if (modelTypeAssetIcon != null){ + if (modelTypeAssetIcon != null) { models.setModelTypeName(modelTypeAssetIcon.getName()); } } - if(modelTag != null && !modelTag.isEmpty()){ + if (modelTag != null && !modelTag.isEmpty()) { AssetIcon modelTagAssetIcon = assetIconService.queryById(Integer.valueOf(modelTag)); - if (modelTagAssetIcon != null){ + if (modelTagAssetIcon != null) { models.setModelTagName(modelTagAssetIcon.getName()); } } @@ -104,8 +143,8 @@ public class ModelsServiceImpl implements ModelsService { /** * 分页查询 * - * @param models 筛选条件 - * @param pageRequest 分页对象 + * @param models 筛选条件 + * @param pageRequest 分页对象 * @return 查询结果 */ @Override @@ -142,7 +181,7 @@ public class ModelsServiceImpl implements ModelsService { @Override public Models update(Models models) { int currentState = models.getState(); - if(currentState == 0){ + if (currentState == 0) { throw new RuntimeException("模型已被删除,无法更新。"); } LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -166,7 +205,7 @@ public class ModelsServiceImpl implements ModelsService { @Override public String removeById(Integer id) throws Exception { Models models = this.modelsDao.queryById(id); - if (models == null){ + if (models == null) { throw new Exception("模型不存在"); } @@ -176,15 +215,15 @@ public class ModelsServiceImpl implements ModelsService { String createdBy = models.getCreateBy(); - if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ + if (!(StringUtils.equals(username, "admin") || StringUtils.equals(username, createdBy))) { throw new Exception("无权限删除该模型"); } //判断是否有版本文件 - if (!modelsVersionService.queryByModelsId(id).isEmpty()){ + if (!modelsVersionService.queryByModelsId(id).isEmpty()) { throw new Exception("请先删除该模型下的版本文件"); } models.setState(0); - return this.modelsDao.update(models)>0?"删除成功":"删除失败"; + return this.modelsDao.update(models) > 0 ? "删除成功" : "删除失败"; } /** @@ -192,7 +231,6 @@ public class ModelsServiceImpl implements ModelsService { * * @param id models_version表的主键 * @return 文件内容 - * */ @Override @@ -204,19 +242,19 @@ public class ModelsServiceImpl implements ModelsService { } // 从数据库中获取存储路径(即MinIO中的对象名称) String objectName = modelsVersion.getUrl(); - if(objectName == null || objectName.isEmpty() ){ + if (objectName == null || objectName.isEmpty()) { throw new Exception("未找到该版本模型文件"); } try { // 使用ByteArrayOutputStream来捕获下载的数据 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - minioUtil.downloadObject(bucketName,objectName,outputStream); + minioUtil.downloadObject(bucketName, objectName, outputStream); ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); InputStreamResource resource = new InputStreamResource(inputStream); return ResponseEntity.ok() - .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(extractFileName(objectName),"UTF-8") + "\"") + .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(extractFileName(objectName), "UTF-8") + "\"") .contentType(MediaType.APPLICATION_OCTET_STREAM) .body(resource); @@ -227,17 +265,40 @@ public class ModelsServiceImpl implements ModelsService { } } + @Override + public ResponseEntity downloadDatasetlocal(String filePath) throws Exception { + File file = new File(filePath); + + if (!file.exists()) { + throw new FileNotFoundException("File not found: " + filePath); + } + + InputStreamResource resource = new InputStreamResource(new FileInputStream(file)); + + HttpHeaders headers = new HttpHeaders(); + headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + file.getName()); + headers.add(HttpHeaders.CONTENT_LENGTH, String.valueOf(file.length())); + headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE); + + return ResponseEntity.ok() + .headers(headers) + .contentLength(file.length()) + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .body(resource); + } + + /** * 上传模型文件 * * @param files 文件 - * @param uuid 唯一标识 + * @param uuid 唯一标识 * @return 是否成功 */ @Override public List> uploadModels(MultipartFile[] files, String uuid) throws Exception { List> results = new ArrayList<>(); - for (MultipartFile file:files) { + for (MultipartFile file : files) { // 构建objectName String username = SecurityUtils.getLoginUser().getUsername(); String fileName = file.getOriginalFilename(); @@ -265,7 +326,7 @@ public class ModelsServiceImpl implements ModelsService { //插表,因为这里是一次直接插表所以这里定掉date,然后用DAO插入 Date date = new Date(); //String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(date); - url = "models/" + username + "/" + models.getName() + "-" + "/" + modelsVersion.getVersion() + "/" + modelsVersion.getFileName(); + url = "models/" + username + "/" + models.getName() + "-" + "/" + modelsVersion.getVersion() + "/" + modelsVersion.getFileName(); modelsVersion.setUrl(url); modelsVersion.setCreateBy(username); modelsVersion.setUpdateBy(username); @@ -273,7 +334,7 @@ public class ModelsServiceImpl implements ModelsService { modelsVersion.setUpdateTime(date); modelsVersion.setState(1); modelsVersionDao.insert(modelsVersion); - }else { + } else { //改表 BeansUtils.copyPropertiesIgnoreNull(modelsVersion, version); Date createTime = version.getCreateTime(); @@ -283,21 +344,21 @@ public class ModelsServiceImpl implements ModelsService { modelsVersionService.update(version); } Map result = new HashMap(); - result.put("url",url); + result.put("url", url); return result; } /** * 下载所有模型文件,用压缩包的方式返回 * - * @param modelsId 模型ID - * @param version 模型版本号 + * @param modelsId 模型ID + * @param version 模型版本号 * @return 文件内容 */ @Override public ResponseEntity downloadAllModelFiles(Integer modelsId, String version) throws Exception { // 根据模型id查模型名 - Models model = this.modelsDao.queryById(modelsId); + Models model = this.modelsDao.queryById(modelsId); String modelName = model.getName(); // 查询特定模型和版本对应的所有文件 List modelsVersionList = this.modelsVersionDao.queryAllByModelsVersion(modelsId, version); @@ -328,7 +389,7 @@ public class ModelsServiceImpl implements ModelsService { // 设置响应 return ResponseEntity.ok() - .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + modelName + "_" + version + ".zip\"") + .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + modelName + "_" + version + ".zip\"") .contentType(MediaType.APPLICATION_OCTET_STREAM) .body(resource); } catch (Exception e) { @@ -359,23 +420,22 @@ public class ModelsServiceImpl implements ModelsService { @Override @Transactional public String insertModelAndVersion(ModelsVo modelsVo) throws Exception { - List modelsVersionVos = modelsVo.getModelsVersionVos(); + List modelsVersionVos = modelsVo.getModelVersionVos(); - if (modelsVersionVos==null || modelsVersionVos.isEmpty()){ + if (modelsVersionVos == null || modelsVersionVos.isEmpty()) { throw new Exception("模型版本信息错误"); } Models models = new Models(); models.setName(modelsVo.getName()); models.setDescription(modelsVo.getDescription()); - models.setAvailableRange(modelsVo.getAvailableRange()); models.setModelType(modelsVo.getModelType()); models.setModelTag(modelsVo.getModelTag()); Models modelsInsert = this.insert(models); - if (modelsInsert == null){ + if (modelsInsert == null) { throw new Exception("新增模型失败"); } //遍历版本信息列表,把文件信息插入数据库 - for(VersionVo modelsVersionVo : modelsVersionVos){ + for (VersionVo modelsVersionVo : modelsVersionVos) { ModelsVersion modelsVersion = new ModelsVersion(); modelsVersion.setModelsId(modelsInsert.getId()); modelsVersion.setVersion(modelsVo.getVersion()); @@ -394,16 +454,16 @@ public class ModelsServiceImpl implements ModelsService { /** - * 根据模型id和版本读取文件内容 + * 根据模型id和版本读取文件内容 * - * @param modelsId 模型ID - * @param version 模型版本号 + * @param modelsId 模型ID + * @param version 模型版本号 * @return 文件内容 */ @Override public String readFileContent(Integer modelsId, String version) throws Exception { // 根据模型id查模型名 - Models model = this.modelsDao.queryById(modelsId); + Models model = this.modelsDao.queryById(modelsId); if (model == null) { throw new Exception("模型不存在"); } @@ -415,9 +475,9 @@ public class ModelsServiceImpl implements ModelsService { throw new Exception("对应模型版本不存在"); } //遍历文件列表 - for(ModelsVersion modelsVersion : modelsVersionList){ + for (ModelsVersion modelsVersion : modelsVersionList) { String fileName = modelsVersion.getFileName(); - if("readme.md".equalsIgnoreCase(fileName)){ + if ("readme.md".equalsIgnoreCase(fileName)) { //如果存在readme文件,读取minio中的url objectName = modelsVersion.getUrl(); // 读取MinIO中的对象为字符串 @@ -473,7 +533,7 @@ public class ModelsServiceImpl implements ModelsService { minioUtil.copyDirectory(srcBucketName, srcDir, bucketName, targetDir); List movedItems = minioUtil.getAllObjectsByPrefix(bucketName, targetDir, true); for (Item movedItem : movedItems) { - if(!movedItem.isDir() && movedItem.size() > 0){ // 检查是否为非目录且文件大小大于0 + if (!movedItem.isDir() && movedItem.size() > 0) { // 检查是否为非目录且文件大小大于0 Map result = new HashMap<>(); String url = movedItem.objectName(); String fileName = extractFileName(url); @@ -493,5 +553,795 @@ public class ModelsServiceImpl implements ModelsService { return urlStr.substring(urlStr.lastIndexOf('/') + 1); } + @Override + public String newCreateModel(ModelsVo modelsVo) { + try { + String token = gitService.checkoutToken(); + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + + Map userInfo = getUserInfo(ci4sUsername, gitLinkUsername, gitLinkPassword); + Integer userId = (Integer) userInfo.get("user_id"); + + String repositoryName = modelsVo.getIdentifier() == null ? ci4sUsername + "_model_" + DateUtils.dateTimeNow() : modelsVo.getIdentifier(); + ModelDependency1 modelDependency = new ModelDependency1(); + List oldModelDependencys = modelDependency1Dao.queryModelDependency(modelsVo.getName(), null, gitLinkUsername); + if (oldModelDependencys != null && !oldModelDependencys.isEmpty()) { + if (oldModelDependencys.stream().anyMatch(oldModelDependency -> oldModelDependency.getVersion().equals(modelsVo.getVersion()))) { + throw new RuntimeException("模型版本已存在,请勿重复创建"); + } + } + + //新建模型 + // 拼接project + GitProjectVo gitProjectVo = new GitProjectVo(); + gitProjectVo.setRepositoryName(repositoryName); + gitProjectVo.setName(modelsVo.getName()); + gitProjectVo.setDescription(modelsVo.getDescription()); + gitProjectVo.setPrivate(!modelsVo.getIsPublic()); + gitProjectVo.setUserId(userId); + gitProjectVo.setProjectCategoryId(Constant.Git_Category_Id); + + // 创建项目 + Map project = gitService.createProject(token, gitProjectVo); + Integer gitlinIid = (Integer) project.get("id"); + if (gitlinIid == null) { + throw new Exception("创建模型失败:" + project.get("message")); + } + + String branchName = modelsVo.getVersion(); + String owner = (String) userInfo.get("login"); + + String projectUrl = gitendpoint + "/" + owner + "/" + repositoryName + ".git"; + String sourcePath = modelsVo.getModelVersionVos().get(0).getUrl(); + String rootPath = localPath + ci4sUsername + "/model/" + gitlinIid + "/" + repositoryName + "/" + branchName; + String modelPath = rootPath + "/model"; + String metaPath = rootPath + "/metadata"; + String relatePath = ci4sUsername + "/model/" + gitlinIid + "/" + repositoryName + "/" + branchName + "/model"; + + // 创建分支 + gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master"); + // 定义标签 标签1:ci4s-model 标签2:ModelTag 标签3:ModelType + gitService.createTopic(token, gitlinIid, "ci4s-model"); + gitService.createTopic(token, gitlinIid, "modeltag-" + modelsVo.getModelTag()); + gitService.createTopic(token, gitlinIid, "modeltype-" + modelsVo.getModelType()); + + dvcUtils.gitClone(rootPath, projectUrl, branchName, gitLinkUsername, gitLinkPassword); + + //干掉目标文件夹 + dvcUtils.deleteDirectory(modelPath); + dvcUtils.moveFiles(sourcePath, modelPath); + + //拼接生产的元数据后写入yaml文件 + ModelMetaVo modelMetaVo = new ModelMetaVo(); + BeanUtils.copyProperties(modelsVo, modelMetaVo); + modelMetaVo.setId(gitlinIid); + modelMetaVo.setCreateBy(String.valueOf(StringUtils.isNotEmpty((String) userInfo.get("nickname")) ? userInfo.get("nickname") : userInfo.get("login"))); + modelMetaVo.setCreateTime(DateUtils.getTime()); + modelMetaVo.setUpdateTime(DateUtils.getTime()); + modelMetaVo.setUsage("
" +
+                    "# 克隆模型配置文件与存储参数到本地\n" +
+                    "git clone -b " + branchName + " " + projectUrl + "\n" +
+                    "# 远程拉取配置文件\n" +
+                    "dvc pull\n" +
+                    "
"); + modelMetaVo.setIdentifier(repositoryName); + modelMetaVo.setOwner(owner); + modelMetaVo.setVersionDesc(modelMetaVo.getDescription()); + modelMetaVo.setRelativePaths(relatePath); + File folder = new File(modelPath); + long folderSize = FileUtil.getFolderSize(folder); + modelMetaVo.setModelSize(FileUtil.formatFileSize(folderSize)); + + Map metaMap = JSON.parseObject(JSON.toJSONString(modelMetaVo), Map.class); + YamlUtils.generateYamlFile(metaMap, metaPath, "metadata"); + String meta = JSON.toJSONString(modelMetaVo); + + //保存模型依赖 + modelDependency.setRepoId(gitlinIid); + modelDependency.setIdentifier(repositoryName); + modelDependency.setModelName(modelsVo.getName()); + modelDependency.setVersion(modelsVo.getVersion()); + modelDependency.setParentModel(modelsVo.getParentModel()); + modelDependency.setOwner(gitLinkUsername); + modelDependency.setMeta(meta); + modelDependency.setState(Constant.State_valid); + modelDependency1Dao.insert(modelDependency); + + CompletableFuture.supplyAsync(() -> { + try { + dvcUtils.dvcInit(rootPath); + // 配置远程S3地址 + String s3Path = bucketName + "/mini-model-management-platform-files/" + ci4sUsername + "/model/" + gitlinIid + "/" + repositoryName + "/" + branchName; + dvcUtils.dvcRemoteAdd(rootPath, s3Path); + dvcUtils.dvcConfigS3Credentials(rootPath, endpoint); + dvcUtils.dvcConfigS3Credentials2(rootPath, accessKeyId); + dvcUtils.dvcConfigS3Credentials3(rootPath, secretAccessKey); + + // dvc 跟踪 + dvcUtils.dvcAdd(rootPath, "model"); + // git commit + dvcUtils.gitCommit(rootPath, "commit from ci4s with " + ci4sUsername); + dvcUtils.gitPush(rootPath, gitLinkUsername, gitLinkPassword); + dvcUtils.dvcPush(rootPath); + } catch (Exception e) { + logger.error(e.getMessage(), e); + throw new RuntimeException(e); + } + return null; + }); + + return "新增模型成功"; + } catch (Exception e) { + logger.error(e.getMessage()); + throw new RuntimeException(e); + } + } + + @Override + public String newCreateVersion(ModelsVo modelsVo) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + + Map userInfo = getUserInfo(ci4sUsername, gitLinkUsername, gitLinkPassword); + + String repositoryName = modelsVo.getIdentifier() == null ? ci4sUsername + "_model_" + DateUtils.dateTimeNow() : modelsVo.getIdentifier(); + ModelDependency1 modelDependency = new ModelDependency1(); + List oldModelDependencys = modelDependency1Dao.queryModelDependency(modelsVo.getName(), modelsVo.getId(), gitLinkUsername); + if (oldModelDependencys != null && !oldModelDependencys.isEmpty()) { + if (oldModelDependencys.stream().anyMatch(oldModelDependency -> oldModelDependency.getVersion().equals(modelsVo.getVersion()))) { + throw new RuntimeException("模型版本已存在,请勿重复创建"); + } + //新建版本 + String branchName = modelsVo.getVersion(); + String owner = (String) userInfo.get("login"); + + String projectUrl = gitendpoint + "/" + owner + "/" + repositoryName + ".git"; + String rootPath = localPath + ci4sUsername + "/model/" + modelsVo.getId() + "/" + repositoryName + "/" + branchName; + String modelPath = rootPath + "/model"; + String metaPath = rootPath + "/metadata"; + String relatePath = ci4sUsername + "/model/" + modelsVo.getId() + "/" + repositoryName + "/" + branchName + "/model"; + + //干掉目标文件夹 + dvcUtils.deleteDirectory(rootPath); + FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis()); + + //克隆 + dvcUtils.gitClone(rootPath, projectUrl, oldModelDependencys.get(0).getVersion(), gitLinkUsername, gitLinkPassword); + dvcUtils.refreshRemoteBranches(rootPath, gitLinkUsername, gitLinkPassword, oldModelDependencys.get(0).getVersion()); + + //查询项目信息 + String token = gitService.checkoutToken(); + Map projectDetail = gitService.getProjectDetail(owner, repositoryName, token); + + //检查是否存在本地重名分支,有的话干掉 + dvcUtils.deleteLocalBranch(rootPath, branchName); + // 创建本地分支 + dvcUtils.createLocalBranchBasedOnMaster(rootPath, branchName); + //dvc checkout + dvcUtils.dvcPull(rootPath); + dvcUtils.dvcCheckout(rootPath); + //干掉目标文件夹 + dvcUtils.deleteDirectory(modelPath); + + ModelMetaVo modelMetaVo = new ModelMetaVo(); + ModelDependency1 buildingModel = new ModelDependency1(); + if (modelsVo.getModelVersionVos() != null && modelsVo.getModelVersionVos().size() != 0) { + String sourcePath = modelsVo.getModelVersionVos().get(0).getUrl(); + + if (Constant.Source_Hand_Export.equals(modelsVo.getModelSource())) { + String bucketName = sourcePath.split("/")[0]; + String root_path = sourcePath.substring(bucketName.length() + 1); + minioUtil.downloadFiles(bucketName, root_path, modelPath); + + HashMap map = new HashMap<>(); + map.put("trainTask", modelsVo.getTrainTask()); + buildingModel = modelDependency1Dao.queryByTrainTask(JSON.toJSONString(map)); + } else { + dvcUtils.moveFiles(sourcePath, modelPath); + + buildingModel = modelDependency1Dao.getBuildingModel(modelsVo.getId(), modelsVo.getIdentifier(), modelsVo.getVersion()); + } + } + + if (buildingModel != null) { + modelMetaVo = JSON.parseObject(buildingModel.getMeta(), ModelMetaVo.class); + //获取指标 + transMetrics(modelMetaVo); + } + + //拼接生产的元数据后写入yaml文件 + BeansUtils.copyPropertiesIgnoreNull(modelsVo, modelMetaVo); + modelMetaVo.setCreateBy(String.valueOf(StringUtils.isNotEmpty((String) userInfo.get("nickname")) ? userInfo.get("nickname") : userInfo.get("login"))); + modelMetaVo.setCreateTime(DateUtils.getTime()); + modelMetaVo.setUpdateTime(DateUtils.getTime()); + modelMetaVo.setUsage("
" +
+                    "# 克隆模型配置文件与存储参数到本地\n" +
+                    "git clone -b " + branchName + " " + projectUrl + "\n" +
+                    "# 远程拉取配置文件\n" +
+                    "dvc pull\n" +
+                    "
"); + modelMetaVo.setIdentifier(repositoryName); + modelMetaVo.setOwner(owner); + modelMetaVo.setDescription((String) projectDetail.get("description")); + List topics = (List) projectDetail.get("topics"); + if (topics != null && topics.size() > 0) { + for (Map topic : topics) { + String topicName = (String) topic.get("name"); + if (topicName.startsWith("modeltag-")) { + modelMetaVo.setModelTag(topicName.substring("modeltag-".length())); + } + if (topicName.startsWith("modeltype-")) { + modelMetaVo.setModelType(topicName.substring("modeltype-".length())); + } + } + } + + modelMetaVo.setRelativePaths(relatePath); + File folder = new File(modelPath); + long folderSize = FileUtil.getFolderSize(folder); + modelMetaVo.setModelSize(FileUtil.formatFileSize(folderSize)); + + Map metaMap = JSON.parseObject(JSON.toJSONString(modelMetaVo), Map.class); + YamlUtils.generateYamlFile(metaMap, metaPath, "metadata"); + String meta = JSON.toJSONString(modelMetaVo); + + //保存指标 + Map metrics = modelMetaVo.getMetrics(); + YamlUtils.generateYamlFile(metrics, rootPath, "metrics"); + //保存参数 + Map params = modelMetaVo.getParams(); + YamlUtils.generateYamlFile(params, rootPath, "params"); + + if (buildingModel != null) { + if (Constant.Source_Hand_Export.equals(modelsVo.getModelSource())) { + //保存模型依赖 + BeansUtils.copyPropertiesIgnoreNull(buildingModel, modelDependency); + modelDependency.setState(Constant.State_valid); + modelDependency.setModelName(modelsVo.getName()); + modelDependency.setVersion(modelsVo.getVersion()); + modelDependency.setRepoId(modelsVo.getId()); + modelDependency.setIdentifier(repositoryName); + modelDependency.setMeta(meta); + modelDependency1Dao.insert(modelDependency); + } else { + //更新模型依赖 + modelDependency1Dao.updateState(modelsVo.getId(), modelsVo.getIdentifier(), modelsVo.getVersion(), meta, Constant.State_valid); + } + } else { + //保存模型依赖 + modelDependency.setRepoId(modelsVo.getId()); + modelDependency.setIdentifier(repositoryName); + modelDependency.setModelName(modelsVo.getName()); + modelDependency.setVersion(modelsVo.getVersion()); + modelDependency.setParentModel(modelsVo.getParentModel()); + modelDependency.setOwner(gitLinkUsername); + modelDependency.setMeta(meta); + modelDependency.setState(Constant.State_valid); + modelDependency1Dao.insert(modelDependency); + } + + // 配置远程S3地址 + String s3Path = bucketName + "/mini-model-management-platform-files/" + ci4sUsername + "/model/" + modelsVo.getId() + "/" + repositoryName + "/" + branchName; + dvcUtils.dvcRemoteAdd(rootPath, s3Path); + dvcUtils.dvcConfigS3Credentials(rootPath, endpoint); + dvcUtils.dvcConfigS3Credentials2(rootPath, accessKeyId); + dvcUtils.dvcConfigS3Credentials3(rootPath, secretAccessKey); + // dvc 跟踪 + dvcUtils.dvcAdd(rootPath, "model"); + dvcUtils.pushNewBranchToRemote(rootPath, gitLinkUsername, gitLinkPassword, branchName); + + //dvc push 到远程S3 + dvcUtils.dvcPush(rootPath); + +// CompletableFuture.supplyAsync(() -> { +// try { +// //dvc push 到远程S3 +// dvcUtils.dvcPush(rootPath); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// return null; +// }); + } + return "新增模型版本成功"; + } + + + @Override + public List> uploadModelLocal(MultipartFile[] files, String uuid) throws Exception { + List> results = new ArrayList<>(); + + for (MultipartFile file : files) { + // 构建objectName + String username = SecurityUtils.getLoginUser().getUsername(); + String fileName = file.getOriginalFilename(); + String path = localPath + "temp/" + username + "/models/" + uuid; + long sizeInBytes = file.getSize(); + String formattedSize = FileUtil.formatFileSize(sizeInBytes); + File targetFile = new File(path, file.getOriginalFilename()); + // 确保目录存在 + targetFile.getParentFile().mkdirs(); + // 保存文件到目标路径 + FileUtils.copyInputStreamToFile(file.getInputStream(), targetFile); + // 返回上传文件的路径 + Map result = new HashMap<>(); + result.put("fileName", fileName); + result.put("url", path); // objectName根据实际情况定义 + result.put("fileSize", formattedSize); + results.add(result); + } + return results; + } + + @Override + public ResponseEntity downloadAllModelFilesNew(String name, String identifier, Integer id, String version) throws Exception { + // 命令行操作 git clone 项目地址 + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + + String localPath1 = localPath + ci4sUsername + "/model/" + id + "/" + identifier + "/" + version; + // 打包 data 文件夹 + String dataFolderPath = localPath1 + "/model"; + String zipFilePath = localPath1 + "/model.zip"; + try (FileOutputStream fos = new FileOutputStream(zipFilePath); + ZipOutputStream zos = new ZipOutputStream(fos)) { + Path sourcePath = Paths.get(dataFolderPath); + Files.walk(sourcePath).forEach(path -> { + if (!Files.isDirectory(path)) { + ZipEntry zipEntry = new ZipEntry(sourcePath.relativize(path).toString()); + try { + zos.putNextEntry(zipEntry); + Files.copy(path, zos); + zos.closeEntry(); + } catch (IOException e) { + throw new RuntimeException("Error while zipping: " + path, e); + } + } + }); + } + + // 返回压缩文件的输入流 + File zipFile = new File(zipFilePath); + InputStreamResource resource = new InputStreamResource(new FileInputStream(zipFile)); + + return ResponseEntity.ok() + .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + name + "_" + version + "_model.zip") + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .contentLength(zipFile.length()) + .body(resource); + } + + @Override + public Page newPersonalQueryByPage(ModelsVo modelsVo, PageRequest pageRequest) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + + Map userInfo = getUserInfo(ci4sUsername, gitLinkUsername, gitLinkPassword); + String token = (String) userInfo.get("token"); + + //拼接查询url + String modelTagName = modelsVo.getModelTag(); + String modelTypeName = modelsVo.getModelType(); + + String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?category=manage"; + + String name = modelsVo.getName(); + if (StringUtils.isNotEmpty(name)) { + url = url + "&search=" + name; + } + + String req = httpUtils.sendGetWithToken(url, null, token); + Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); + List> projects = (List>) stringObjectMap.get("projects"); + List collect = convert(projects, "ci4s-model", modelTagName, modelTypeName); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); + } + + @Override + public Page newPubilcQueryByPage(ModelsVo modelsVo, PageRequest pageRequest) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + + Map userInfo = getUserInfo(ci4sUsername, gitLinkUsername, gitLinkPassword); + Integer userId = (Integer) userInfo.get("user_id"); + String token = (String) userInfo.get("token"); + + //拼接查询url + String modelTagName = modelsVo.getModelTag(); + String modelTypeName = modelsVo.getModelType(); + + String url = gitendpoint + "/api/projects.json?sort_direction=praises_count&sort_by=desc&category_id=" + Constant.Git_Category_Id; + + String name = modelsVo.getName(); + if (StringUtils.isNotEmpty(name)) { + url = url + "&search=" + name; + } + + String req = httpUtils.sendGetWithToken(url, null, token); + Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); + List> projects = (List>) stringObjectMap.get("projects"); + List collect = convert(projects, "ci4s-model", modelTagName, modelTypeName); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); + } + + @Override + public Page> queryVersions(PageRequest pageRequest, String identifier, String owner, String type) throws Exception { + String token = gitService.checkoutToken(); + List> collect = gitService.getBrancheList(token, owner, identifier); + List> result = collect.stream() + .filter(branch -> !"master".equals(branch.get("name"))) + .skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()) + .collect(Collectors.toList()); + + for (Map branch : result) { + String meta = modelDependency1Dao.getMeta(identifier, owner, (String) branch.get("name")); + if (StringUtils.isNotEmpty(meta)) { + ModelMetaVo modelMetaVo = JSON.parseObject(meta, ModelMetaVo.class); + if (Constant.Source_Add.equals(modelMetaVo.getModelSource())) { + branch.put("params", null); + branch.put("params_names", new ArrayList<>()); + branch.put("metrics", null); + branch.put("metrics_names", new ArrayList<>()); + } else { + if (modelMetaVo.getParams() != null) { + HashMap params = modelMetaVo.getParams(); + branch.put("params", params); + + ArrayList params_names = new ArrayList<>(); + for (String key : params.keySet()) { + params_names.add(key); + } + branch.put("params_names", params_names); + } + if (modelMetaVo.getMetrics() != null) { + HashMap metrics = modelMetaVo.getMetrics(); + if (Constant.Type_Train.equals(type)) { + Map trainMetrics = (Map) metrics.get(Constant.Type_Train); + branch.put("metrics", trainMetrics); + + ArrayList metrics_names = new ArrayList<>(); + if (trainMetrics != null) { + for (String key : trainMetrics.keySet()) { + metrics_names.add(key); + } + } + branch.put("metrics_names", metrics_names); + } else { + Map evaluateMetrics = (Map) metrics.get(Constant.Type_Evaluate); + ArrayList metrics_names = new ArrayList<>(); + if (evaluateMetrics != null) { + for (String key : evaluateMetrics.keySet()) { + metrics_names.add(key); + } + } + branch.put("metrics_names", metrics_names); + branch.put("metrics", evaluateMetrics); + } + } + } + } + } + return new PageImpl<>(result, pageRequest, collect.size()); + } + + @Override + public Map queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) { + Map batchMetrics = new HashMap<>(); + List needMetrics = queryModelMetricsVo.getMetrics(); + + for (String needMetric : needMetrics) { + ArrayList> result = new ArrayList<>(); + + for (String version : queryModelMetricsVo.getVersions()) { + ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), version); + ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1.getMeta(), ModelMetaVo.class); + HashMap metrics = modelMetaVo.getMetricsParams(); + + if (Constant.Type_Train.equals(queryModelMetricsVo.getType())) { + List>> tarinDetail = (List>>) metrics.get("tarinDetail"); + if (tarinDetail != null && tarinDetail.size() > 0) { + List> trainMetrics = tarinDetail.get(0); + for (Map trainMetric : trainMetrics) { + if (needMetric.equals(trainMetric.get("name"))) { + trainMetric.put("version", version); + result.add(trainMetric); + } + } + } + } else { + List>> evaluateDetail = (List>>) metrics.get("evaluateDetail"); + if (evaluateDetail != null && evaluateDetail.size() > 0) { + List> evaluateMetrics = evaluateDetail.get(0); + for (Map evaluateMetric : evaluateMetrics) { + if (needMetric.equals(evaluateMetric.get("name"))) { + evaluateMetric.put("version", version); + result.add(evaluateMetric); + } + } + } + } + } + batchMetrics.put(needMetric, result); + } + + return batchMetrics; + } + + @Override + public List> getVersionList(String identifier, String owner) throws Exception { + String token = gitService.checkoutToken(); + List> branchList = gitService.getBrancheList(token, owner, identifier); + return branchList.stream() + .filter(branch -> !"master".equals(branch.get("name"))) + .collect(Collectors.toList()); + } + + @Override + public ModelsVo getModelDetail(Integer id, String identifier, String owner, String version) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + + if (StringUtils.isEmpty(version)) { + List> versionList = this.getVersionList(identifier, owner); + if (versionList.size() == 0) { + throw new Exception("模型文件不存在"); + } + version = (String) versionList.get(0).get("name"); + } + + // git pull操作,然后读取里面的文件列表,列出每个文件的大小和名称,封装成MAP + List> fileDetailsAfterGitPull = FileUtil.getFiles(localPath + ci4sUsername + "/model/" + id + "/" + identifier + "/" + version + "/model"); + Map stringObjectMap = YamlUtils.loadYamlFile(localPath + ci4sUsername + "/model/" + id + "/" + identifier + "/" + version + "/metadata/metadata.yaml"); + + String jsonString = JSON.toJSONString(stringObjectMap); + ModelsVo modelsVo = JSON.parseObject(jsonString, ModelsVo.class); + + if (!fileDetailsAfterGitPull.isEmpty()) { + List versionVos = new ArrayList<>(); + for (Map fileDetail : fileDetailsAfterGitPull) { + VersionVo versionVo = new VersionVo(); + versionVo.setUrl((String) fileDetail.get("filePath")); + versionVo.setFileName((String) fileDetail.get("fileName")); + long size = (long) fileDetail.get("size"); + versionVo.setFileSize(FileUtil.formatFileSize(size)); + versionVos.add(versionVo); + } + modelsVo.setModelVersionVos(versionVos); + } + + return modelsVo; + } + + @Override + public ModelDependency1TreeVo getModelDependencyTree(Integer repoId, String identifier, String version) throws Exception { + ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(repoId, identifier, version); + ModelDependency1TreeVo modelDependency1TreeVo = new ModelDependency1TreeVo(); + BeanUtils.copyProperties(modelDependency1, modelDependency1TreeVo); + + ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1TreeVo.getMeta(), ModelMetaVo.class); + modelDependency1TreeVo.setModelMeta(modelMetaVo); + + //递归查询父模型 + getParentModel(modelDependency1TreeVo); + //递归查询子模型 + getChildModel(modelDependency1TreeVo); + + return modelDependency1TreeVo; + } + + @Override + public void deleteModel(Integer repoId, String identifier, String owner) throws Exception { + String token = gitService.checkoutToken(); + gitService.deleteProject(token, owner, identifier); + //删除模型依赖 + modelDependency1Dao.deleteModel(repoId, identifier, owner, null); + + HashMap map = new HashMap<>(); + map.put("repoId", repoId); + map.put("identifier", identifier); + String parentModel = JSON.toJSONString(map); + modelDependency1Dao.deleteModelDependency(parentModel); + + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + dvcUtils.deleteDirectory(localPath + "/" + ci4sUsername + "/model/" + repoId + "/" + identifier); + } + + @Override + public void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception { + String token = gitService.checkoutToken(); + String rootPath = Paths.get(localPath + "/" + relativePath).getParent().toString(); + gitService.deleteBranch(token, owner, identifier, version, rootPath); + //删除模型依赖 + modelDependency1Dao.deleteModel(repoId, identifier, owner, version); + HashMap map = new HashMap<>(); + map.put("repoId", repoId); + map.put("identifier", identifier); + map.put("version", version); + String parentModel = JSON.toJSONString(map); + modelDependency1Dao.deleteModelDependency(parentModel); + dvcUtils.deleteDirectory(rootPath); + FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis()); + } + + public List convert(List> lst, String modelTopic, String modelTagName, String modelTypeName) { + if (lst != null && lst.size() > 0) { + List result = new ArrayList<>(); + List newModelVos = ConvertUtil.convertListMapToObjectList(lst, ModelsVo.class); + + for (ModelsVo newModelVo : newModelVos) { + Map map = lst.stream() + .filter(m -> m.get("id").equals(newModelVo.getId())) + .findFirst() + .orElse(null); + + if (map != null) { + List> topics = (List>) map.get("topics"); + String modelTopicName = null; + String modelTag = null; + String modelType = null; + for (Map topic : topics) { + String topicName = (String) topic.get("name"); + if (modelTopic.equals(topicName)) { + modelTopicName = (String) topic.get("name"); + } + if (topicName.startsWith("modeltag-")) { + modelTag = topicName.substring("modeltag-".length()); + } + if (topicName.startsWith("modeltype-")) { + modelType = topicName.substring("modeltype-".length()); + } + } + + if (modelTopicName != null) { + if (StringUtils.isNotEmpty(modelTagName) && !modelTagName.toLowerCase().equals(modelTag)) { + continue; + } + if (StringUtils.isNotEmpty(modelTypeName) && !modelTypeName.toLowerCase().equals(modelType)) { + continue; + } + newModelVo.setModelTag(modelTagName); + newModelVo.setModelType(modelTypeName); + Map author = (Map) map.get("author"); + newModelVo.setCreateBy((String) author.get("name")); + newModelVo.setOwner((String) author.get("login")); + result.add(newModelVo); + } + } + } + return result; + } + return new ArrayList<>(); + } + + void getParentModel(ModelDependency1TreeVo modelDependency1TreeVo) { + if (modelDependency1TreeVo.getParentModel() != null) { + ModelDependency1 parent = JSON.parseObject(modelDependency1TreeVo.getParentModel(), ModelDependency1.class); + ModelDependency1 parentModel = modelDependency1Dao.queryByRepoAndVersion(parent.getRepoId(), parent.getIdentifier(), parent.getVersion()); + + if (parentModel != null) { + ModelDependency1TreeVo parentModelVo = new ModelDependency1TreeVo(); + BeanUtils.copyProperties(parentModel, parentModelVo); + + ModelMetaVo modelMetaVo = JSON.parseObject(parentModelVo.getMeta(), ModelMetaVo.class); + parentModelVo.setModelMeta(modelMetaVo); + modelDependency1TreeVo.setParentModelVo(parentModelVo); + + if (parentModel.getParentModel() != null) { + getParentModel(parentModelVo); + } + } + } + } + + void getChildModel(ModelDependency1TreeVo modelDependency1TreeVo) { + List childModelList = new ArrayList<>(); + + HashMap map = new HashMap<>(); + map.put("repoId", modelDependency1TreeVo.getRepoId()); + map.put("identifier", modelDependency1TreeVo.getIdentifier()); + map.put("version", modelDependency1TreeVo.getVersion()); + String model = JSON.toJSONString(map); + + List children = modelDependency1Dao.queryByParentModel(model); + if (children != null && !children.isEmpty()) { + for (ModelDependency1 modelDependency1 : children) { + ModelDependency1TreeVo modelDependency1TreeVo1 = new ModelDependency1TreeVo(); + BeanUtils.copyProperties(modelDependency1, modelDependency1TreeVo1); + + ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1TreeVo1.getMeta(), ModelMetaVo.class); + modelDependency1TreeVo1.setModelMeta(modelMetaVo); + + getChildModel(modelDependency1TreeVo1); + childModelList.add(modelDependency1TreeVo1); + } + } + modelDependency1TreeVo.setChildModelList(childModelList); + } + + Map getUserInfo(String ci4sUsername, String gitLinkUsername, String gitLinkPassword) throws IOException { + Jedis jedis = new Jedis(redisHost, redisPort); + String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); + if (userReq == null) { + gitService.login(gitLinkUsername, gitLinkPassword); + userReq = jedis.get(ci4sUsername + "_gitUserInfo"); + } + Map userInfo = JsonUtils.jsonToMap(userReq); + + String token = gitService.checkoutToken(); + userInfo.put("token", token); + return userInfo; + } + + void transMetrics(ModelMetaVo modelMetaVo) throws Exception { + HashMap result = new HashMap<>(); + HashMap train = new HashMap<>(); + HashMap evaluate = new HashMap<>(); + + List>> trainBatchMetrics = new ArrayList<>(); + List>> evaluateBatchMetrics = new ArrayList<>(); + + HashMap metrics = modelMetaVo.getMetricsParams(); + JSONArray trainMetrics = (JSONArray) metrics.get("train"); + if (trainMetrics != null) { + for (int i = 0; i < trainMetrics.size(); i++) { + JSONObject jsonObject = trainMetrics.getJSONObject(i); + String runId = jsonObject.getString("run_id"); + List expTrainInfos = aimsService.getExpInfos1(true, modelMetaVo.getTrainTask().getExperimentId(), runId); + for (InsMetricInfoVo expTrainInfo : expTrainInfos) { + Map metrics1 = expTrainInfo.getMetrics(); + train.putAll(metrics1); + } + + // 记录训练指标详情 + HashMap map = aimsService.queryMetricsParams(runId); + if (map != null && !map.isEmpty()) { + List> batchMetric = aimsService.getBatchMetric((String) map.get("run_hash"), (String) map.get("params")); + trainBatchMetrics.add(batchMetric); + } + } + result.put("train", train); + metrics.put("tarinDetail", trainBatchMetrics); + } + + JSONArray testMetrics = (JSONArray) metrics.get("evaluate"); + if (testMetrics != null) { + for (int i = 0; i < testMetrics.size(); i++) { + JSONObject jsonObject = testMetrics.getJSONObject(i); + String runId = jsonObject.getString("run_id"); + List expTestInfos = aimsService.getExpInfos1(false, modelMetaVo.getTrainTask().getExperimentId(), runId); + for (InsMetricInfoVo expTestInfo : expTestInfos) { + Map metrics1 = expTestInfo.getMetrics(); + evaluate.putAll(metrics1); + } + + // 记录验证指标详情 + HashMap map = aimsService.queryMetricsParams(runId); + if (map != null && !map.isEmpty()) { + List> batchMetric = aimsService.getBatchMetric((String) map.get("run_hash"), (String) map.get("params")); + evaluateBatchMetrics.add(batchMetric); + } + + } + result.put("evaluate", evaluate); + metrics.put("evaluateDetail", evaluateBatchMetrics); + + } + modelMetaVo.setMetrics(result); + modelMetaVo.setMetricsParams(metrics); + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java index f94a3bcb..274b3c1d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java @@ -43,9 +43,7 @@ public class ModelsVersionServiceImpl implements ModelsVersionService { @Resource @Lazy private ModelDependencyService modelDependencyService; - // 固定存储桶名 - @Value("${minio.dataReleaseBucketName}") - private String bucketName; + /** * 通过ID查询单条数据 @@ -186,10 +184,8 @@ public class ModelsVersionServiceImpl implements ModelsVersionService { .filter(modelsVersion -> modelsVersion.getUrl() != null && !modelsVersion.getUrl().isEmpty()) .findFirst() .ifPresent(modelsVersion -> { - String url = modelsVersion.getUrl(); - String path = bucketName + '/' + url.substring(0, url.lastIndexOf('/')); + String path = modelsVersion.getUrl(); response.put("path", path); - }); response.put("content", modelsVersionList); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java new file mode 100644 index 00000000..6c2b8c6b --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java @@ -0,0 +1,562 @@ +package com.ruoyi.platform.service.impl; + +import com.ruoyi.common.core.utils.DateUtils; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.platform.constant.Constant; +import com.ruoyi.platform.domain.Dataset; +import com.ruoyi.platform.domain.DatasetTempStorage; +import com.ruoyi.platform.service.DatasetTempStorageService; +import com.ruoyi.platform.service.GitService; +import com.ruoyi.platform.service.NewDatasetService; +import com.ruoyi.platform.utils.*; +import com.ruoyi.platform.vo.GitProjectVo; +import com.ruoyi.platform.vo.NewDatasetVo; +import com.ruoyi.platform.vo.VersionVo; +import com.ruoyi.system.api.model.LoginUser; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.InputStreamResource; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import redis.clients.jedis.Jedis; + +import javax.annotation.Resource; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +@Service +public class NewDatasetServiceImpl implements NewDatasetService { + + private static final Logger logger = LoggerFactory.getLogger(NewDatasetServiceImpl.class); + + @Resource + private GitService gitService; + + @Value("${spring.redis.host}") + private String redisHost; + @Value("${spring.redis.port}") + private Integer redisPort; + @Value("${minio.accessKey}") + String accessKeyId; + @Value("${minio.secretKey}") + String secretAccessKey; + @Value("${minio.endpoint}") + String endpoint; + @Value("${git.endpoint}") + String gitendpoint; + @Value("${minio.dataReleaseBucketName}") + private String bucketName; + @Value("${git.localPath}") + String localPathlocal; + @Resource + private NewHttpUtils httpUtils; + @Resource + private DatasetTempStorageService datasetTempStorageService; + @Resource + private DVCUtils dvcUtils; + + @Resource + private MinioUtil minioUtil; + + @Override + public String newCreateDataset(NewDatasetVo datasetVo) throws Exception { + String token = gitService.checkoutToken(); + Jedis jedis = new Jedis(redisHost, redisPort); + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); + // 得到用户操作的路径 + Map userInfo = JsonUtils.jsonToMap(userReq); + Integer userId = (Integer) userInfo.get("user_id"); + // 拼接project + String repositoryName = ci4sUsername + "_dataset_" + DateUtils.dateTimeNow(); + GitProjectVo gitProjectVo = new GitProjectVo(); + gitProjectVo.setRepositoryName(repositoryName); + gitProjectVo.setName(datasetVo.getName()); + gitProjectVo.setDescription(datasetVo.getDescription()); + gitProjectVo.setPrivate(!datasetVo.getIsPublic()); + gitProjectVo.setUserId(userId); + gitProjectVo.setProjectCategoryId(Constant.Git_Category_Id); + // 创建项目 + Map project = gitService.createProject(token, gitProjectVo); + Integer gitlinIid = (Integer) project.get("id"); + if (gitlinIid == null) { + throw new Exception("创建数据集失败:" + project.get("message")); + } + // 创建分支 + String branchName = datasetVo.getVersion(); + String owner = (String) userInfo.get("login"); + + gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master"); + // 定义标签 标签1:ci4s-dataset 标签2:DataTag 标签3:DataType + gitService.createTopic(token, gitlinIid, "ci4s-dataset"); + gitService.createTopic(token, gitlinIid, "datatag-" + datasetVo.getDataTag()); + gitService.createTopic(token, gitlinIid, "datatype-" + datasetVo.getDataType()); + + // 得到项目地址 + String projectUrl = gitendpoint + "/" + owner + "/" + repositoryName + ".git"; + + // 得到用户操作的路径 + String sourcePath = datasetVo.getDatasetVersionVos().get(0).getUrl(); + String relatePath = ci4sUsername + "/datasets/" + gitlinIid + "/" + repositoryName + "/" + branchName; + String localPath = localPathlocal + relatePath; + String datasetPath = localPath + "/dataset"; + + // 命令行操作 git clone 项目地址 + dvcUtils.gitClone(localPath, projectUrl, branchName, gitLinkUsername, gitLinkPassword); + String s3Path = bucketName + "/mini-model-management-platform-files" + "/" + relatePath + "/" + branchName; + //干掉目标文件夹 + dvcUtils.deleteDirectory(datasetPath); + dvcUtils.moveFiles(sourcePath, datasetPath); + // 拼接生产的元数据后写入yaml文件 + datasetVo.setCreateBy(String.valueOf(StringUtils.isNotEmpty((String) userInfo.get("nickname")) ? userInfo.get("nickname") : userInfo.get("login"))); + datasetVo.setUpdateTime(DateUtils.getTime()); + datasetVo.setVersionDesc(datasetVo.getDescription()); + datasetVo.setUsage("
" +
+                "# 克隆数据集配置文件与存储参数到本地\n" +
+                "git clone -b " + branchName + " " + projectUrl + "\n" +
+                "# 远程拉取配置文件\n" +
+                "dvc pull\n" +
+                "
"); + datasetVo.setIdentifier(repositoryName); + datasetVo.setId(gitlinIid); + datasetVo.setOwner(owner); + datasetVo.setRelativePaths(relatePath + "/dataset"); + + addDatasetSourceToDataVo(datasetVo); + + YamlUtils.generateYamlFile(JsonUtils.objectToMap(datasetVo), localPath, "dataset"); + + CompletableFuture.supplyAsync(() -> { + try { + // dvc init 初始化 + dvcUtils.dvcInit(localPath); + // 配置远程S3地址 + dvcUtils.dvcRemoteAdd(localPath, s3Path); + dvcUtils.dvcConfigS3Credentials(localPath, endpoint); + dvcUtils.dvcConfigS3Credentials2(localPath, accessKeyId); + dvcUtils.dvcConfigS3Credentials3(localPath, secretAccessKey); + // dvc 跟踪 + dvcUtils.dvcAdd(localPath, "dataset"); + // git commit + dvcUtils.gitCommit(localPath, "commit from ci4s with " + loginUser.getUsername()); + dvcUtils.gitPush(localPath, gitLinkUsername, gitLinkPassword); + // dvc push 到远程S3 + dvcUtils.dvcPush(localPath); + } catch (Exception e) { + logger.error(e.getMessage(), e); + throw new RuntimeException(e); + } + return null; + }); + return "新增数据集成功"; + } + + public String newCreateVersion(NewDatasetVo datasetVo) throws Exception { + String token = gitService.checkoutToken(); + Jedis jedis = new Jedis(redisHost, redisPort); + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); + String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); + String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); + Map userInfo = JsonUtils.jsonToMap(userReq); + // 创建分支 + String branchName = StringUtils.isEmpty(datasetVo.getVersion()) ? "master" : datasetVo.getVersion(); + String owner = (String) userInfo.get("login"); + + String repositoryName = datasetVo.getIdentifier(); + String sourcePath = datasetVo.getDatasetVersionVos().get(0).getUrl(); + String relatePath = ci4sUsername + "/datasets/" + datasetVo.getId() + "/" + repositoryName + "/" + branchName; + String localPath = localPathlocal + relatePath; + String datasetPath = localPath + "/dataset"; + String projectUrl = gitendpoint + "/" + owner + "/" + repositoryName + ".git"; + + //干掉目标文件夹 + dvcUtils.deleteDirectory(localPath); + FileUtil.renameFile(localPath, localPath + "_deleted_" + System.currentTimeMillis()); + + //查询项目信息 + Map projectDetail = gitService.getProjectDetail(owner, repositoryName, token); + + //克隆 + List> brancheList = gitService.getBrancheList(token, owner, repositoryName); + String oldBranch = (String) brancheList.stream() + .filter(branch -> !"master".equals(branch.get("name"))).collect(Collectors.toList()).get(0).get("name"); + + dvcUtils.gitClone(localPath, projectUrl, oldBranch, gitLinkUsername, gitLinkPassword); + dvcUtils.refreshRemoteBranches(localPath, gitLinkUsername, gitLinkPassword, oldBranch); + + //检查是否存在本地重名分支,有的话干掉 + dvcUtils.deleteLocalBranch(localPath, branchName); + // 创建本地分支 + dvcUtils.createLocalBranchBasedOnMaster(localPath, branchName); + + //dvc checkout + dvcUtils.dvcPull(localPath); + dvcUtils.dvcCheckout(localPath); + + // 准备数据 + String s3Path = bucketName + "/mini-model-management-platform-files" + "/" + relatePath + "/" + branchName; + //干掉目标文件夹 + dvcUtils.deleteDirectory(datasetPath); + + if (Constant.Source_Hand_Export.equals(datasetVo.getDatasetSource())) { + String bucketName = sourcePath.split("/")[0]; + String root_path = sourcePath.split("/")[1]; + minioUtil.downloadFiles(bucketName, root_path, datasetPath); + } else { + dvcUtils.moveFiles(sourcePath, datasetPath); + } + + + // 拼接生产的元数据后写入yaml文件 + datasetVo.setCreateBy(String.valueOf(StringUtils.isNotEmpty((String) userInfo.get("nickname")) ? userInfo.get("nickname") : userInfo.get("login"))); + datasetVo.setUpdateTime(DateUtils.getTime()); + datasetVo.setUsage("
" +
+                "# 克隆数据集配置文件与存储参数到本地\n" +
+                "git clone -b " + branchName + " " + projectUrl + "\n" +
+                "# 远程拉取配置文件\n" +
+                "dvc pull\n" +
+                "
"); + datasetVo.setIdentifier(repositoryName); + datasetVo.setOwner((String) userInfo.get("login")); + + datasetVo.setDescription((String) projectDetail.get("description")); + List topics = (List) projectDetail.get("topics"); + if (topics != null && topics.size() > 0) { + for (Map topic : topics) { + String topicName = (String) topic.get("name"); + if (topicName.startsWith("datatag-")) { + datasetVo.setDataTag(topicName.substring("datatag-".length())); + } + if (topicName.startsWith("datatype-")) { + datasetVo.setDataType(topicName.substring("datatype-".length())); + } + } + } + datasetVo.setRelativePaths(relatePath + "/dataset"); + + datasetVo = addDatasetSourceToDataVo(datasetVo); + System.out.println(datasetVo); + + YamlUtils.generateYamlFile(JsonUtils.objectToMap(datasetVo), localPath, "dataset"); + //dvc数据跟踪 + // 配置远程S3地址 + dvcUtils.dvcRemoteAdd(localPath, s3Path); + dvcUtils.dvcConfigS3Credentials(localPath, endpoint); + dvcUtils.dvcConfigS3Credentials2(localPath, accessKeyId); + dvcUtils.dvcConfigS3Credentials3(localPath, secretAccessKey); + // dvc 跟踪 + dvcUtils.dvcAdd(localPath, "dataset"); + dvcUtils.pushNewBranchToRemote(localPath, gitLinkUsername, gitLinkPassword, branchName); + + dvcUtils.dvcPush(localPath); + +// CompletableFuture.supplyAsync(() -> { +// try { +// //dvc push 到远程S3 +// dvcUtils.dvcPush(localPath); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// return null; +// }); + return "新增数据集成功"; + } + + + @Override + public Page newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { + String token = gitService.checkoutToken(); + Jedis jedis = new Jedis(redisHost, redisPort); + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); + Map userInfo = JsonUtils.jsonToMap(userReq); + // 拼接查询url + String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?category=manage"; + + String name = dataset.getName(); + if (StringUtils.isNotEmpty(name)) { + url = url + "&search=" + name; + } + String req = httpUtils.sendGetWithToken(url, null, token); + Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); + List> projects = (List>) stringObjectMap.get("projects"); + + List collect = convert(projects, "ci4s-dataset", dataset.getDataTag(), dataset.getDataType()); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); + } + + @Override + public Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { + String token = gitService.checkoutToken(); + Jedis jedis = new Jedis(redisHost, redisPort); + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); + Map userInfo = JsonUtils.jsonToMap(userReq); + Integer userId = (Integer) userInfo.get("user_id"); + // 拼接查询url + String url = gitendpoint + "/api/projects.json?sort_direction=praises_count&sort_by=desc&category_id=" + Constant.Git_Category_Id; + + String name = dataset.getName(); + if (StringUtils.isNotEmpty(name)) { + url = url + "&search=" + name; + } + + String req = httpUtils.sendGetWithToken(url, null, token); + Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); + List> projects = (List>) stringObjectMap.get("projects"); + if (projects == null) { + return new PageImpl<>(new ArrayList<>(), pageRequest, 0); + } + List collect = convert(projects, "ci4s-dataset", dataset.getDataTag(), dataset.getDataType()); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); + } + + @Override + public NewDatasetVo getNewDatasetDesc(Integer id, String name, String repo, String owner, String version) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + // cd到 localPathlocal/id/下面还有一个文件夹,然后做git pull操作,然后读取里面的文件列表,列出每个文件的大小和名称,封装成MAP + if (StringUtils.isEmpty(version)) { + List> versionList = this.getVersionList(repo, owner); + if (versionList.size() == 0) { + throw new Exception("数据集文件不存在"); + } + version = (String) versionList.get(0).get("name"); + } + List> fileDetailsAfterGitPull = FileUtil.getFiles(localPathlocal + ci4sUsername + "/datasets/" + id + "/" + repo + "/" + version + "/dataset"); + + // 在localPathlocal+id+"/"+repositoryName目录下的dataset.yaml中取到元数据 + Map stringObjectMap = YamlUtils.loadYamlFile(localPathlocal + ci4sUsername + "/datasets/" + id + "/" + repo + "/" + version + "/dataset.yaml"); + String jsonString = JacksonUtil.toJSONString(stringObjectMap); + NewDatasetVo newDatasetVo = JsonUtils.jsonToObject(jsonString, NewDatasetVo.class); + List versionVos = new ArrayList(); + if (fileDetailsAfterGitPull != null && fileDetailsAfterGitPull.size() > 0) { + for (Map fileDetail : fileDetailsAfterGitPull) { + VersionVo versionVo = new VersionVo(); + versionVo.setUrl((String) fileDetail.get("filePath")); + versionVo.setFileName((String) fileDetail.get("fileName")); + long size = (long) fileDetail.get("size"); + versionVo.setFileSize(FileUtil.formatFileSize(size)); + versionVos.add(versionVo); + } + } + newDatasetVo.setDatasetVersionVos(versionVos); + return newDatasetVo; + } + + @Override + public List> getVersionList(String repo, String owner) throws Exception { + String token = gitService.checkoutToken(); + List> brancheList = gitService.getBrancheList(token, owner, repo); + return brancheList.stream() + .filter(branch -> !"master".equals(branch.get("name"))) + .collect(Collectors.toList()); + } + + @Override + public void deleteDatasetNew(Integer repoId, String repo, String owner) throws Exception { + String token = gitService.checkoutToken(); + gitService.deleteProject(token, owner, repo); + + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + dvcUtils.deleteDirectory(localPathlocal + "/" + ci4sUsername + "/datasets/" + repoId + "/" + repo); + } + + @Override + public void deleteDatasetVersionNew(String repo, String owner, String version, String relativePath) throws Exception { + String token = gitService.checkoutToken(); + String rootPath = Paths.get(localPathlocal + "/" + relativePath).getParent().toString(); + gitService.deleteBranch(token, owner, repo, version, rootPath); + dvcUtils.deleteDirectory(rootPath); + FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis()); + } + + @Override + public List> uploadDatasetlocal(MultipartFile[] files, String uuid) throws Exception { + List> results = new ArrayList<>(); + + for (MultipartFile file : files) { + // 构建objectName + String username = SecurityUtils.getLoginUser().getUsername(); + String fileName = file.getOriginalFilename(); + String path = localPathlocal + "temp" + "/" + username + "/" + "datasets" + "/" + uuid; + long sizeInBytes = file.getSize(); + String formattedSize = FileUtil.formatFileSize(sizeInBytes); + File targetFile = new File(path, file.getOriginalFilename()); + + // 确保目录存在 + targetFile.getParentFile().mkdirs(); + // 保存文件到目标路径 + FileUtils.copyInputStreamToFile(file.getInputStream(), targetFile); + // 返回上传文件的路径 + Map result = new HashMap<>(); + result.put("fileName", fileName); + result.put("url", path); // objectName根据实际情况定义 + result.put("fileSize", formattedSize); + results.add(result); + } + return results; + } + + @Override + public ResponseEntity downloadDatasetlocal(String filePath) throws Exception { + File file = new File(filePath); + + if (!file.exists()) { + throw new FileNotFoundException("File not found: " + filePath); + } + + InputStreamResource resource = new InputStreamResource(new FileInputStream(file)); + + HttpHeaders headers = new HttpHeaders(); + headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + file.getName()); + headers.add(HttpHeaders.CONTENT_LENGTH, String.valueOf(file.length())); + headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE); + + return ResponseEntity.ok() + .headers(headers) + .contentLength(file.length()) + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .body(resource); + } + + @Override + public ResponseEntity downloadAllDatasetFilesNew(String name, String identifier, Integer id, String version) throws Exception { + // 命令行操作 git clone 项目地址 + LoginUser loginUser = SecurityUtils.getLoginUser(); + String localPath = localPathlocal + loginUser.getUsername() + "/datasets/" + id + "/" + identifier + "/" + version; + + // 打包 data 文件夹 + String dataFolderPath = localPath + "/dataset"; + String zipFilePath = localPath + "/data.zip"; + try (FileOutputStream fos = new FileOutputStream(zipFilePath); + ZipOutputStream zos = new ZipOutputStream(fos)) { + Path sourcePath = Paths.get(dataFolderPath); + Files.walk(sourcePath).forEach(path -> { + if (!Files.isDirectory(path)) { + ZipEntry zipEntry = new ZipEntry(sourcePath.relativize(path).toString()); + try { + zos.putNextEntry(zipEntry); + Files.copy(path, zos); + zos.closeEntry(); + } catch (IOException e) { + throw new RuntimeException("Error while zipping: " + path, e); + } + } + }); + } + + // 返回压缩文件的输入流 + File zipFile = new File(zipFilePath); + InputStreamResource resource = new InputStreamResource(new FileInputStream(zipFile)); + + return ResponseEntity.ok() + .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + name + "_" + version + "_dataset.zip") + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .contentLength(zipFile.length()) + .body(resource); + + } + + + public List convert(List> lst, String datasetTopic, String datasetTagName, String datasetTypeName) { + if (lst != null && lst.size() > 0) { + List result = new ArrayList<>(); + List newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class); + + for (NewDatasetVo newDatasetVo : newDatasetVos) { + Map map = lst.stream() + .filter(m -> m.get("id").equals(newDatasetVo.getId())) + .findFirst() + .orElse(null); + + if (map != null) { + List> topics = (List>) map.get("topics"); + String datasetTopicName = null; + String datasetTag = null; + String datasetType = null; + for (Map topic : topics) { + String topicName = (String) topic.get("name"); + if (datasetTopic.equals(topicName)) { + datasetTopicName = (String) topic.get("name"); + } + if (topicName.startsWith("datatag-")) { + datasetTag = topicName.substring("datatag-".length()); + } + if (topicName.startsWith("datatype-")) { + datasetType = topicName.substring("datatype-".length()); + } + } + + if (datasetTopicName != null) { + if (StringUtils.isNotEmpty(datasetTagName) && !datasetTagName.toLowerCase().equals(datasetTag)) { + continue; + } + if (StringUtils.isNotEmpty(datasetTypeName) && !datasetTypeName.toLowerCase().equals(datasetType)) { + continue; + } + newDatasetVo.setDataTag(datasetTagName); + newDatasetVo.setDataType(datasetTypeName); + + Map author = (Map) map.get("author"); + newDatasetVo.setCreateBy((String) author.get("name")); + newDatasetVo.setOwner((String) author.get("login")); + result.add(newDatasetVo); + } + } + } + return result; + } + return new ArrayList<>(); + } + + private NewDatasetVo addDatasetSourceToDataVo(NewDatasetVo datasetVo) { + DatasetTempStorage queryDatasetTempStorage = new DatasetTempStorage(); + queryDatasetTempStorage.setName(datasetVo.getIdentifier()); + queryDatasetTempStorage.setVersion(datasetVo.getVersion()); + DatasetTempStorage datasetTempStorage = datasetTempStorageService.queryByDatasetTempStorage(queryDatasetTempStorage); + if (datasetTempStorage != null) { + String source = datasetTempStorage.getSource(); + Map sourceMap = JacksonUtil.parseJSONStr2Map(source); + Map preprocessCode = (Map) sourceMap.get("preprocess_code"); + sourceMap.remove("preprocess_code"); + datasetVo.setTrainTask((HashMap) sourceMap); + datasetVo.setProcessingCode((HashMap) preprocessCode); + datasetTempStorage.setState(0); + datasetTempStorageService.update(datasetTempStorage); + } + return datasetVo; + } + +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java new file mode 100644 index 00000000..6075f9bc --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java @@ -0,0 +1,388 @@ +package com.ruoyi.platform.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.platform.constant.Constant; +import com.ruoyi.platform.domain.ServiceVersion; +import com.ruoyi.platform.mapper.ServiceDao; +import com.ruoyi.platform.service.ServiceService; +import com.ruoyi.platform.utils.ConvertUtil; +import com.ruoyi.platform.utils.HttpUtils; +import com.ruoyi.platform.utils.JacksonUtil; +import com.ruoyi.platform.vo.serviceVos.ServiceCodeConfigVo; +import com.ruoyi.platform.vo.serviceVos.ServiceModelVo; +import com.ruoyi.platform.vo.serviceVos.ServiceVersionVo; +import com.ruoyi.system.api.model.LoginUser; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("serviceService") +public class ServiceServiceImpl implements ServiceService { + + @Value("${argo.url}") + private String argoUrl; + + @Value("${argo.modelService}") + private String modelService; + + @Resource + private ServiceDao serviceDao; + + @Override + public Page queryByPageService(com.ruoyi.platform.domain.Service service, PageRequest pageRequest) { + long total = serviceDao.countService(service); + List services = serviceDao.queryByPageService(service, pageRequest); + return new PageImpl<>(services, pageRequest, total); + } + + @Override + public Page queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) { + PageRequest pageRequest; + if (StringUtils.isNotEmpty(serviceVersion.getRunState())) { + pageRequest = PageRequest.of(page, Integer.MAX_VALUE); + List serviceVersions = serviceDao.queryByPageServiceVersion(serviceVersion, pageRequest); + + List deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); + Map runStates = getRunState(deploymentNames); + if (runStates != null) { + updateRunState(runStates, serviceVersions); + } + + List serviceVersionList = serviceVersions.stream().filter(serviceVersion1 -> { + String runState; + if (runStates != null) { + runState = runStates.get(serviceVersion1.getDeploymentName()); + } else { + runState = serviceVersion1.getRunState(); + } + return serviceVersion.getRunState().equals(runState); + }).collect(Collectors.toList()); + + List result = getServiceVersionVoList(serviceVersionList); + + PageRequest.of(page, size); + return new PageImpl<>(result, pageRequest, result.size()); + } else { + pageRequest = PageRequest.of(page, size); + long total = serviceDao.countServiceVersion(serviceVersion); + List serviceVersions = serviceDao.queryByPageServiceVersion(serviceVersion, pageRequest); + + List deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); + Map runStates = getRunState(deploymentNames); + if (runStates != null) { + updateRunState(runStates, serviceVersions); + } + List result = getServiceVersionVoList(serviceVersions); + + return new PageImpl<>(result, pageRequest, total); + } + } + + @Override + public com.ruoyi.platform.domain.Service addService(com.ruoyi.platform.domain.Service service) { + com.ruoyi.platform.domain.Service serviceByName = serviceDao.getServiceByName(service.getServiceName()); + if (serviceByName != null) { + throw new RuntimeException("服务名称已存在,无法新增"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + service.setCreateBy(loginUser.getUsername()); + service.setUpdateBy(loginUser.getUsername()); + serviceDao.insertService(service); + return service; + } + + @Override + public ServiceVersion addServiceVersion(ServiceVersionVo serviceVersionVo) { + ServiceVersion svByVersion = serviceDao.getSvByVersion(serviceVersionVo.getVersion(), serviceVersionVo.getServiceId()); + if (svByVersion != null) { + throw new RuntimeException("服务版本已存在,无法新增"); + } + + ServiceVersion serviceVersion = getServiceVersion(serviceVersionVo); + LoginUser loginUser = SecurityUtils.getLoginUser(); + serviceVersion.setCreateBy(loginUser.getUsername()); + serviceVersion.setUpdateBy(loginUser.getUsername()); + serviceVersion.setRunState(Constant.Pending); + serviceDao.insertServiceVersion(serviceVersion); + runServiceVersion(serviceVersion.getId()); + return serviceVersion; + } + + @Override + public com.ruoyi.platform.domain.Service editService(com.ruoyi.platform.domain.Service service) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + service.setUpdateBy(loginUser.getUsername()); + serviceDao.updateService(service); + return serviceDao.getServiceById(service.getId()); + } + + @Override + public String editServiceVersion(ServiceVersionVo serviceVersionVo) { + ServiceVersion serviceVersion = getServiceVersion(serviceVersionVo); + + ServiceVersion oldServiceVersion = serviceDao.getServiceVersionById(serviceVersionVo.getId()); + if (!oldServiceVersion.getReplicas().equals(serviceVersionVo.getReplicas()) || !oldServiceVersion.getResource().equals(serviceVersionVo.getResource()) + || serviceVersionVo.getRerun()) { + updateServiceVersion(serviceVersion); + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + serviceVersion.setUpdateBy(loginUser.getUsername()); + serviceDao.updateServiceVersion(serviceVersion); + return "修改成功"; + } + + @Override + public com.ruoyi.platform.domain.Service getService(Long id) { + return serviceDao.getServiceById(id); + } + + @Override + public ServiceVersionVo getServiceVersion(Long id) { + ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); + ServiceVersionVo serviceVersionVo = getServiceVersionVo(serviceVersion); + com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(serviceVersion.getServiceId()); + serviceVersionVo.setServiceName(service.getServiceName()); + return serviceVersionVo; + } + + @Override + public Map serviceVersionCompare(Long id1, Long id2) throws IllegalAccessException { + HashMap result = new HashMap<>(); + + ServiceVersion serviceVersion1 = serviceDao.getServiceVersionById(id1); + ServiceVersion serviceVersion2 = serviceDao.getServiceVersionById(id2); + com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(serviceVersion1.getServiceId()); + + ServiceVersionVo serviceVersionVo1 = getServiceVersionVo(serviceVersion1); + ServiceVersionVo serviceVersionVo2 = getServiceVersionVo(serviceVersion2); + serviceVersionVo1.setServiceName(service.getServiceName()); + serviceVersionVo2.setServiceName(service.getServiceName()); + + Map compareMap = ConvertUtil.compareObjects(serviceVersion1, serviceVersion2); + + result.put("version1", serviceVersionVo1); + result.put("version2", serviceVersionVo2); + result.put("differences", compareMap); + + return result; + } + + @Override + public String deleteService(Long id) { + com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(id); + if (service == null) { + throw new RuntimeException("服务不存在"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + String username = loginUser.getUsername(); + String createBy = service.getCreateBy(); + if (!(StringUtils.equals(username, "admin") || StringUtils.equals(username, createBy))) { + throw new RuntimeException("无权限删除该服务"); + } + + ServiceVersion serviceVersion = new ServiceVersion(); + serviceVersion.setServiceId(id); + long versionCount = serviceDao.countServiceVersion(serviceVersion); + if (versionCount != 0) { + throw new RuntimeException("该服务下还有版本,不能删除"); + } + + service.setState(Constant.State_invalid); + return serviceDao.updateService(service) > 0 ? "删除成功" : "删除失败"; + } + + @Override + public String deleteServiceVersion(Long id) { + ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); + serviceVersion.setState(Constant.State_invalid); + HashMap paramMap = new HashMap<>(); + paramMap.put("deployment_name", serviceVersion.getDeploymentName()); + paramMap.put("svc_name", serviceVersion.getSvcName()); + String req = HttpUtils.sendPost(argoUrl + modelService + "/delete", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + if ((Integer) reqMap.get("code") == 200) { + return serviceDao.updateServiceVersion(serviceVersion) > 0 ? "删除成功" : "删除失败"; + } + } + return "删除失败"; + } + + @Override + public String runServiceVersion(Long id) { + ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); + com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(serviceVersion.getServiceId()); + HashMap paramMap = new HashMap<>(); + paramMap.put("service_name", service.getServiceName()); + paramMap.put("description", serviceVersion.getDescription()); + paramMap.put("resource", serviceVersion.getResource()); + paramMap.put("mount_path", serviceVersion.getMountPath()); + paramMap.put("replicas", serviceVersion.getReplicas()); + paramMap.put("env", JSONObject.parseObject(serviceVersion.getEnvVariables())); + paramMap.put("code_config", JSONObject.parseObject(serviceVersion.getCodeConfig())); + paramMap.put("image", serviceVersion.getImage()); + paramMap.put("model", JSONObject.parseObject(serviceVersion.getModel())); + paramMap.put("service_type", service.getServiceType()); + String req = HttpUtils.sendPost(argoUrl + modelService + "/create", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + if ((Integer) reqMap.get("code") == 200) { + Map data = (Map) reqMap.get("data"); + serviceVersion.setUrl(data.get("url")); + serviceVersion.setDeploymentName(data.get("deployment_name")); + serviceVersion.setSvcName(data.get("svc_name")); + serviceVersion.setRunState(Constant.Pending); + serviceDao.updateServiceVersion(serviceVersion); + return "启动成功"; + } else { + throw new RuntimeException("启动失败"); + } + } else { + throw new RuntimeException("启动失败"); + } + } + + @Override + public String stopServiceVersion(Long id) { + ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); + HashMap paramMap = new HashMap<>(); + paramMap.put("deployment_name", serviceVersion.getDeploymentName()); + String req = HttpUtils.sendPost(argoUrl + modelService + "/stop", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + serviceVersion.setRunState(Constant.Stopped); + serviceDao.updateServiceVersion(serviceVersion); + return "停止成功"; + } else { + throw new RuntimeException("停止失败"); + } + } + + @Override + public String updateServiceVersion(ServiceVersion serviceVersion) { + HashMap paramMap = new HashMap<>(); + paramMap.put("deployment_name", serviceVersion.getDeploymentName()); + HashMap updateMap = new HashMap<>(); + updateMap.put("replicas", serviceVersion.getReplicas()); + updateMap.put("resource", serviceVersion.getResource()); + paramMap.put("update_model", new JSONObject(updateMap)); + String req = HttpUtils.sendPost(argoUrl + modelService + "/update", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + return "修改成功"; + } else { + throw new RuntimeException("更新失败"); + } + } + + @Override + public HashMap getServiceVersionLog(Long id, String startTime, String endTime) { + ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); + HashMap paramMap = new HashMap<>(); + paramMap.put("deployment_name", serviceVersion.getDeploymentName()); + paramMap.put("start_time", startTime); + paramMap.put("end_time", endTime); + String req = HttpUtils.sendPost(argoUrl + modelService + "/getLog", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + if (reqMap.get("code") != null && (Integer) reqMap.get("code") == 200) { + return (HashMap) reqMap.get("data"); + } else { + throw new RuntimeException("获取日志失败"); + } + } else { + throw new RuntimeException("获取日志失败"); + } + } + + @Override + public Map getServiceVersionDocs(Long id) { + ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); + HashMap paramMap = new HashMap<>(); + paramMap.put("deployment_name", serviceVersion.getDeploymentName()); + String req = HttpUtils.sendPost(argoUrl + modelService + "/getDocs", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + Map data = (Map) reqMap.get("data"); + return data; + } else { + throw new RuntimeException("获取日志失败"); + } + } + + @Override + public List serviceVersionList(Long id) { + return serviceDao.getServiceVersionList(id); + } + + + ServiceVersion getServiceVersion(ServiceVersionVo serviceVersionVo) { + ServiceVersion serviceVersion = new ServiceVersion(); + BeanUtils.copyProperties(serviceVersionVo, serviceVersion); + serviceVersion.setModel(JSON.toJSONString(serviceVersionVo.getModel())); + serviceVersion.setCodeConfig(JSON.toJSONString(serviceVersionVo.getCodeConfig())); + serviceVersion.setEnvVariables(JSON.toJSONString(serviceVersionVo.getEnvVariables())); + + return serviceVersion; + } + + List getServiceVersionVoList(List serviceVersionList) { + List result = new ArrayList<>(); + + for (ServiceVersion sv : serviceVersionList) { + ServiceVersionVo serviceVersionVo = getServiceVersionVo(sv); + result.add(serviceVersionVo); + } + return result; + } + + ServiceVersionVo getServiceVersionVo(ServiceVersion sv) { + ServiceVersionVo serviceVersionVo = new ServiceVersionVo(); + BeanUtils.copyProperties(sv, serviceVersionVo); + ServiceModelVo serviceModelVo = JSON.parseObject(sv.getModel(), ServiceModelVo.class); + serviceVersionVo.setModel(serviceModelVo); + + ServiceCodeConfigVo serviceCodeConfigVo = JSON.parseObject(sv.getCodeConfig(), ServiceCodeConfigVo.class); + serviceVersionVo.setCodeConfig(serviceCodeConfigVo); + + serviceVersionVo.setEnvVariables(JacksonUtil.parseJSONStr2Map(sv.getEnvVariables())); + return serviceVersionVo; + } + + Map getRunState(List deploymentNames) { + HashMap paramMap = new HashMap<>(); + paramMap.put("deployment_names", deploymentNames); + String req = HttpUtils.sendPost(argoUrl + modelService + "/getStatus", JSON.toJSONString(paramMap)); + if (StringUtils.isNotEmpty(req)) { + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + Map> data = (Map>) reqMap.get("data"); + if (data != null) { + return data.get("status"); + } + return null; + } else { + return null; + } + } + + void updateRunState(Map runStates, List serviceVersionList) { + for (ServiceVersion sv : serviceVersionList) { + String runState = runStates.get(sv.getDeploymentName()); + sv.setRunState(runState); + serviceDao.updateRunState(sv.getDeploymentName(), runState); + } + } +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java index 22097734..83b87d82 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java @@ -28,16 +28,17 @@ public class TensorBoardServiceImpl implements TensorBoardService { private RedisService redisService; @Resource private K8sClientUtil k8sClientUtil; + @Override - public PodStatusVo getTensorBoardStatus(FrameLogPathVo frameLogPathVo){ + public PodStatusVo getTensorBoardStatus(FrameLogPathVo frameLogPathVo) { String status = PodStatus.Terminated.getName(); PodStatusVo tensorboardStatusVo = new PodStatusVo(); tensorboardStatusVo.setStatus(status); - if (StringUtils.isEmpty(frameLogPathVo.getPath())){ + if (StringUtils.isEmpty(frameLogPathVo.getPath())) { return tensorboardStatusVo; } LoginUser loginUser = SecurityUtils.getLoginUser(); - String podName = loginUser.getUsername().toLowerCase()+"-"+frameLogPathVo.getPath().split("/")[2]+ "-tensorboard-pod"; + String podName = loginUser.getUsername().toLowerCase() + "-" + frameLogPathVo.getPath().split("/")[2] + "-tensorboard-pod"; try { String podStatus = k8sClientUtil.getPodStatus(podName, StringUtils.isEmpty(frameLogPathVo.getNamespace()) ? "default" : frameLogPathVo.getNamespace()); @@ -58,13 +59,18 @@ public class TensorBoardServiceImpl implements TensorBoardService { @Override public String runTensorBoard(FrameLogPathVo frameLogPathVo) throws Exception { - if (StringUtils.isEmpty(frameLogPathVo.getPath())||StringUtils.isEmpty(frameLogPathVo.getPvcName())){ - throw new Exception("存储路径或存储为空"); +// if (StringUtils.isEmpty(frameLogPathVo.getPath())||StringUtils.isEmpty(frameLogPathVo.getPvcName())){ +// throw new Exception("存储路径或存储为空"); +// } + if (StringUtils.isEmpty(frameLogPathVo.getPath())) { + throw new Exception("存储路径为空"); } LoginUser loginUser = SecurityUtils.getLoginUser(); String podName = loginUser.getUsername().toLowerCase()+"-"+frameLogPathVo.getPath().split("/")[2]+ "-tensorboard-pod"; - Integer podPort = k8sClientUtil.createPodWithSubPath(podName, StringUtils.isEmpty(frameLogPathVo.getNamespace())?"default":frameLogPathVo.getNamespace(), port, mountPath,frameLogPathVo.getPath(), frameLogPathVo.getPvcName(), image); - redisService.setCacheObject(podName,masterIp + ":" + podPort); + +// Integer podPort = k8sClientUtil.createPodWithSubPath(podName, StringUtils.isEmpty(frameLogPathVo.getNamespace()) ? "default" : frameLogPathVo.getNamespace(), port, mountPath, frameLogPathVo.getPath(), frameLogPathVo.getPvcName(), image); + Integer podPort = k8sClientUtil.createPodWithSubPath(podName, StringUtils.isEmpty(frameLogPathVo.getNamespace()) ? "default" : frameLogPathVo.getNamespace(), port, mountPath, frameLogPathVo.getPath(), image); + redisService.setCacheObject(podName, masterIp + ":" + podPort); return masterIp + ":" + podPort; } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java index 9c36d277..75921c4b 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java @@ -2,7 +2,6 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.annotations.CheckDuplicate; -import com.ruoyi.platform.domain.Dataset; import com.ruoyi.platform.domain.Experiment; import com.ruoyi.platform.domain.Workflow; import com.ruoyi.platform.mapper.WorkflowDao; @@ -11,6 +10,7 @@ import com.ruoyi.platform.service.WorkflowService; import com.ruoyi.platform.utils.HttpUtils; import com.ruoyi.platform.utils.JsonUtils; import com.ruoyi.platform.utils.MinioUtil; +import com.ruoyi.platform.utils.NewHttpUtils; import com.ruoyi.system.api.model.LoginUser; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Value; @@ -45,7 +45,8 @@ public class WorkflowServiceImpl implements WorkflowService { @Value("${argo.workflowCopy}") private String argoWorkflowCopy; - + @Resource + private NewHttpUtils httpUtils; private final MinioUtil minioUtil; public WorkflowServiceImpl(MinioUtil minioUtil) { @@ -172,7 +173,7 @@ public class WorkflowServiceImpl implements WorkflowService { Map requestData = new HashMap<>(); requestData.put("data", oldDag); // 发送POST请求到Argo工作流复制接口,并将请求数据转换为JSON - String req = HttpUtils.sendPost(argoUrl + argoWorkflowCopy , JsonUtils.mapToJson(requestData)); + String req = HttpUtils.sendPost(argoUrl + argoWorkflowCopy ,null, JsonUtils.mapToJson(requestData)); // 检查响应是否为空或无内容 if (StringUtils.isEmpty(req)) { throw new RuntimeException("工作流复制接口响应内容为空"); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/ConvertUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/ConvertUtil.java index ca138614..95bb18cd 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/ConvertUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/ConvertUtil.java @@ -1,16 +1,14 @@ package com.ruoyi.platform.utils; +import org.apache.commons.beanutils.PropertyUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; -import org.apache.commons.beanutils.PropertyUtils; + import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -23,8 +21,9 @@ public class ConvertUtil { public static final Logger logger = LoggerFactory.getLogger(ConvertUtil.class); - /** + /** * 将实体对象转换为VO对象 + * * @param source 源实体对象 * @param target 目标VO对象的类 * @return 转换后的VO对象 @@ -78,15 +77,47 @@ public class ConvertUtil { return resultList; } - private static T convertMapToObject(Map map, Class targetClass) { + public static T convertMapToObject(Map map, Class targetClass) { + try { + T targetObject = targetClass.newInstance(); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + String camelCaseKey = toCamelCase(key); + if (hasProperty(targetClass, camelCaseKey)) { + if (!(value instanceof LinkedHashMap)) { + PropertyUtils.setProperty(targetObject, camelCaseKey, value); + } + } + } + return targetObject; + } catch (InstantiationException | IllegalAccessException | InvocationTargetException | + NoSuchMethodException e) { + e.printStackTrace(); + } + return null; + } + + public static T convertMapToObject2(Map map, Class targetClass) { try { T targetObject = targetClass.newInstance(); for (Map.Entry entry : map.entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); String camelCaseKey = toCamelCase(key); + if (hasProperty(targetClass, camelCaseKey)) { - PropertyUtils.setProperty(targetObject, camelCaseKey, value); + // 获取目标属性的类型 + Class propertyType = PropertyUtils.getPropertyType(targetObject, camelCaseKey); + + if (propertyType.isAssignableFrom(LinkedHashMap.class)) { + // 如果属性类型是 HashMap,则递归转换 + Map mapValue = (Map) value; + Object convertedValue = convertMapToObject2(mapValue, propertyType); + PropertyUtils.setProperty(targetObject, camelCaseKey, convertedValue); + } else if (!(value instanceof LinkedHashMap)) { + PropertyUtils.setProperty(targetObject, camelCaseKey, value); + } } } return targetObject; @@ -96,11 +127,16 @@ public class ConvertUtil { return null; } + private static boolean hasProperty(Class clazz, String propertyName) { try { Field field = clazz.getDeclaredField(propertyName); return field != null; } catch (NoSuchFieldException e) { + Class superClazz = clazz.getSuperclass(); + if (superClazz != Object.class) { + return hasProperty(superClazz, propertyName); + } return false; } } @@ -122,5 +158,40 @@ public class ConvertUtil { } return sb.toString(); } + + private static String toSnakeCase(String camelCase) { + return camelCase.replaceAll( + String.format("%s|%s|%s", + "(?<=[a-z])(?=[A-Z])", // 小写字母后接大写字母 + "(?<=[^A-Z])(?=[A-Z][a-z])", // 非大写字母后接大写字母开头的小写字母 + "(?<=[A-Z])(?=[A-Z][a-z][0-9])" // 大写字母后接另一个大写字母开头的小写字母和数字(可选,根据需求调整) + ), + "_" + ).toLowerCase(); + } + + public static Map compareObjects(Object obj1, Object obj2) throws IllegalAccessException { + Map differences = new HashMap<>(); + + // Get the class of the first object + Class clazz = obj1.getClass(); + + // Iterate over all fields of the class + for (Field field : clazz.getDeclaredFields()) { + // Set the fields to be accessible + field.setAccessible(true); + + // Get the field value from both objects + Object value1 = field.get(obj1); + Object value2 = field.get(obj2); + + // Compare the field values + if ((value1 !=null && !value1.equals(value2)) || (value2 !=null && !value2.equals(value1))) { + differences.put(toSnakeCase(field.getName()), "Field " + field.getName() + " differs: " + value1 + " vs " + value2); + } + } + + return differences; + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java index 387f09ab..7ecbdc51 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java @@ -2,15 +2,55 @@ package com.ruoyi.platform.utils; import org.eclipse.jgit.api.*; import org.eclipse.jgit.api.errors.GitAPIException; +import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.lib.RepositoryState; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; -import org.eclipse.jgit.transport.CredentialsProvider; -import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; +import org.eclipse.jgit.transport.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; -import java.io.*; -import java.nio.file.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.*; +import java.util.concurrent.ExecutorCompletionService; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +@Component public class DVCUtils { + private static final ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); + private static final Logger log = LoggerFactory.getLogger(DVCUtils.class); + private static final ExecutorCompletionService completionService = new ExecutorCompletionService<>(executorService); + @Value("${proxy.useProxy:false}") + private boolean useProxy; + + @Value("${proxy.host}") + private String host; + + @Value("${proxy.port}") + private Integer port; + private class ProxyConfigCallback implements TransportConfigCallback { + @Override + public void configure(Transport transport) { + if (useProxy) { + System.setProperty("http.proxyHost", host); + System.setProperty("http.proxyPort", String.valueOf(port)); + System.setProperty("https.proxyHost", host); + System.setProperty("https.proxyPort", String.valueOf(port)); + log.info("Proxy configured: {}:{}", host, port); + } + } + } private static void runCommand(String command, String workingDir) throws Exception { ProcessBuilder processBuilder = new ProcessBuilder(command.split(" ")); @@ -19,7 +59,7 @@ public class DVCUtils { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { - System.out.println(line); + log.info(line); } int exitCode = process.waitFor(); if (exitCode != 0) { @@ -27,9 +67,9 @@ public class DVCUtils { } } - public static void moveFiles(String sourcePath, String targetPath) throws Exception { + public void moveFiles(String sourcePath, String targetPath) throws Exception { Path sourceDir = Paths.get(sourcePath); - Path targetDir = Paths.get(targetPath).resolve(sourceDir.getFileName()); + Path targetDir = Paths.get(targetPath); if (!Files.exists(targetDir)) { Files.createDirectories(targetDir); @@ -38,17 +78,49 @@ public class DVCUtils { Files.move(sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING); } - public static void gitClone(String localPath, String repoUrl, String branch, String username, String password) throws GitAPIException { + public void deleteDirectory(String dirPath) throws IOException { + Path directory = Paths.get(dirPath); + + // 检查是否目录存在 + if (Files.exists(directory)) { + // 使用Files.walk来删除目录及其内容 + Files.walk(directory) + .filter(path -> !path.equals(directory)) + .sorted(Comparator.reverseOrder()) // 先删除子文件夹,再删除父文件夹 + .forEach(this::deletePath); + } + } + + private void deletePath(Path path) { + try { + Files.deleteIfExists(path); + } catch (IOException e) { + log.error("Unable to delete: " + path + " " + e.getMessage()); + } + } + + public void gitClone(String localPath, String repoUrl, String branch, String username, String password) throws GitAPIException { CloneCommand cloneCommand = Git.cloneRepository() .setURI(repoUrl) .setBranch(branch) .setDirectory(new java.io.File(localPath)) + .setTransportConfigCallback(new ProxyConfigCallback()) + .setCredentialsProvider(new UsernamePasswordCredentialsProvider(username, password)); + + cloneCommand.call(); + } + + public void gitClone(String localPath, String repoUrl, String username, String password) throws GitAPIException { + CloneCommand cloneCommand = Git.cloneRepository() + .setURI(repoUrl) + .setDirectory(new java.io.File(localPath)) .setCredentialsProvider(new UsernamePasswordCredentialsProvider(username, password)); cloneCommand.call(); } - public static void gitAdd(String localPath, String filePath) throws IOException, GitAPIException { + + public void gitAdd(String localPath, String filePath) throws IOException, GitAPIException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(new File(localPath, ".git")) .readEnvironment() @@ -61,7 +133,7 @@ public class DVCUtils { } } - public static void gitCommit(String localPath, String commitMessage) throws IOException, GitAPIException { + public void gitCommit(String localPath, String commitMessage) throws IOException, GitAPIException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(new File(localPath, ".git")) .readEnvironment() @@ -79,7 +151,7 @@ public class DVCUtils { } } - public static void gitPush(String localPath, String username, String password) throws IOException, GitAPIException { + public void gitPush(String localPath, String username, String password) throws IOException, GitAPIException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(new File(localPath, ".git")) .readEnvironment() @@ -90,12 +162,385 @@ public class DVCUtils { CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); PushCommand pushCommand = git.push(); pushCommand.setCredentialsProvider(credentialsProvider) + .setTransportConfigCallback(new ProxyConfigCallback()) .setForce(true) .call(); } } - public static void gitCheckoutBranch(String localPath, String branchName) throws IOException, GitAPIException { + + /** + * 更新本地仓库中的所有分支 + * + * @param localPath 本地仓库路径 + * @param username 远程仓库用户名 + * @param password 远程仓库密码 + */ + public void updateAllBranches(String localPath, String username, String password) { + try (Git git = Git.open(new File(localPath))) { + // 设置凭证,用于远程仓库的认证 + UsernamePasswordCredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); + + // 获取远程分支列表 + List remoteBranches = git.branchList().setListMode(org.eclipse.jgit.api.ListBranchCommand.ListMode.REMOTE).call(); + + // 遍历远程分支并更新本地对应的分支 + for (Ref remoteBranch : remoteBranches) { + // 获取分支名称,去掉前缀 "refs/remotes/origin/" + String branchName = remoteBranch.getName().replace("refs/remotes/origin/", ""); + log.info("Updating branch: " + branchName); + + // 检查本地是否存在该分支,如果不存在则创建 + if (!branchExistsLocally(git, branchName)) { + git.branchCreate().setName(branchName).setStartPoint("origin/" + branchName).call(); + } + + // 切换到对应的分支 + git.checkout().setName(branchName).call(); + + // 拉取远程分支的最新内容 + PullCommand pull = git.pull().setRemoteBranchName(branchName).setCredentialsProvider(credentialsProvider); + pull.call(); + } + + log.info("All branches updated successfully."); + + } catch (IOException | GitAPIException e) { + log.error("Error occurred while updating all branches", e); + } + } + + /** + * 更新本地仓库中的指定分支 + * + * @param localPath 本地仓库路径 + * @param username 远程仓库用户名 + * @param password 远程仓库密码 + * @param branchName 需要更新的分支名称 + */ + public void updateBranch(String localPath, String username, String password, String branchName) { + try (Git git = Git.open(new File(localPath))) { + // 设置凭证,用于远程仓库的认证 + UsernamePasswordCredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); + + // 检查本地是否存在该分支,如果不存在则创建 + if (!branchExistsLocally(git, branchName)) { + git.branchCreate().setName(branchName).setStartPoint("origin/" + branchName).call(); + } + + // 切换到对应的分支 + git.checkout().setName(branchName).call(); + + // 拉取远程分支的最新内容 + PullCommand pull = git.pull().setRemoteBranchName(branchName).setCredentialsProvider(credentialsProvider); + pull.call(); + + log.info("Branch " + branchName + " updated successfully."); + + } catch (IOException | GitAPIException e) { + log.error("Error occurred while updating branche", e); + } + } + + + /** + * 创建本地分支 + * + * @param localPath 本地仓库路径 + * @param branchName 要创建的分支名称 + */ + public void createLocalBranch(String localPath, String branchName) { + try (Git git = Git.open(new File(localPath))) { + // 创建本地分支 + git.branchCreate().setName(branchName).call(); + log.info("本地分支 " + branchName + " 创建成功。"); + + } catch (IOException | GitAPIException e) { + log.error("Error occurred while creating local branch", e); + } + } + /** + * 删除本地分支 + * + * @param localPath 本地仓库路径 + * @param branchName 要删除的分支名称 + */ + public void deleteLocalBranch(String localPath, String branchName) throws IOException, GitAPIException { + FileRepositoryBuilder builder = new FileRepositoryBuilder(); + Repository repository = builder.setGitDir(new File(localPath + "/.git")) + .readEnvironment() + .findGitDir() + .build(); + + try (Git git = new Git(repository)) { + // 获取所有本地分支 + for (Ref ref : git.branchList().call()) { + String refName = ref.getName(); + if (refName.endsWith("/" + branchName)) { + // 删除本地分支 + git.branchDelete().setBranchNames(refName).setForce(true).call(); + log.info("Deleted branch: " + branchName); + return; + } + } + log.info("Branch not found: " + branchName); + } + } + + /** + * 基于 master 创建本地分支 + * + * @param localPath 本地仓库路径 + * @param branchName 要创建的分支名称 + */ + public void createLocalBranchBasedOnMaster(String localPath, String branchName) { + try (Git git = Git.open(new File(localPath))) { + // 切换到 master 分支 + git.checkout() + .setCreateBranch(true) + .setName(branchName) + .setStartPoint("origin/master") + .call(); + log.info("基于 master 的远程分支 " + branchName + " 创建成功。"); + } catch (IOException | GitAPIException e) { + log.error("Exception occurred while creating local branch based on master", e); + } + } + + /** + * 将本地分支推送到远程仓库 + * + * @param localPath 本地仓库路径 + * @param username 远程仓库用户名 + * @param password 远程仓库密码 + * @param branchName 要推送的分支名称 + */ + public void pushLocalBranchToRemote(String localPath, String username, String password, String branchName) { + try (Git git = Git.open(new File(localPath))) { + // 设置凭证,用于远程仓库的认证 + UsernamePasswordCredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); + + // 切换到要推送的分支 + git.checkout().setName(branchName).call(); + + // 添加所有更改到暂存区 + git.add().addFilepattern(".").call(); + + // 提交更改 + git.commit().setMessage("commit from ci4s").call(); + + // 推送本地分支到远程仓库 + git.push() + .setRemote("origin") + .add(branchName) + .setCredentialsProvider(credentialsProvider) + .call(); + + log.info("本地分支 " + branchName + " 推送成功。"); + + } catch (IOException | GitAPIException e) { + log.error("Error occurred while pushing local branch to remote", e); + } + } + + /** + * 将本地分支推送到远程(新增远程分支) + * + * @param localPath 本地仓库路径 + * @param username 用户名 + * @param password 密码 + * @param branchName 要推送的分支名称 + * @throws IOException 如果仓库路径无效 + * @throws GitAPIException 如果Git操作失败 + */ + public void pushNewBranchToRemote(String localPath, String username, String password, String branchName) throws IOException, GitAPIException { + try (Git git = Git.open(new File(localPath))) { + // 设置凭证,用于远程仓库的认证 + UsernamePasswordCredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); + + // 切换到要推送的分支,确保分支已存在,并且切换至该分支 + git.checkout().setName(branchName).call(); + + // 创建一个新的 RefSpec + RefSpec refSpec = new RefSpec(branchName + ":" + branchName); + + // 添加所有更改到暂存区 + git.add().addFilepattern(".").call(); + + // 提交更改 + git.commit().setMessage("commit from ci4s").call(); + // 推送本地分支到远程端(如果远程无该分支,则新增) + Iterable pushResults = git.push() + .setRemote("origin") + .setRefSpecs(refSpec) + .setCredentialsProvider(credentialsProvider) + .setTransportConfigCallback(new ProxyConfigCallback()) + .call(); + + // 打印结果 + pushResults.forEach(pr -> log.info(pr.getMessages())); + + log.info("分支 " + branchName + " 已成功推送到远程仓库。"); + } + } + + /** + * 检查本地是否存在指定分支 + * + * @param git Git 实例 + * @param branchName 分支名称 + * @return 如果本地存在该分支返回 true,否则返回 false + */ + private static boolean branchExistsLocally(Git git, String branchName) throws GitAPIException { + List localBranches = git.branchList().call(); + for (Ref localBranch : localBranches) { + if (localBranch.getName().endsWith("/" + branchName)) { + return true; + } + } + return false; + } + + public void refreshRemoteBranches(String localPath, String username, String password, String branch) throws Exception { + try (Repository repository = new FileRepositoryBuilder() + .setGitDir(new File(localPath + "/.git")) + .readEnvironment() + .findGitDir() + .build()) { + + Git git = new Git(repository); + + // 检查仓库状态 + if (repository.getRepositoryState().equals(RepositoryState.MERGING) || + repository.getRepositoryState().equals(RepositoryState.MERGING_RESOLVED)) { + log.info("Repository is in a merging state, please resolve conflicts manually."); + return; + } + + // 设置凭证提供者 + UsernamePasswordCredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); + + // 获取远程分支 + FetchResult fetchResult = git.fetch() + .setRemote("origin") + .setCredentialsProvider(credentialsProvider) + .setTransportConfigCallback(new ProxyConfigCallback()) // 设置代理 + .call(); + + // 打印获取的远程分支 + Collection fetchedRefs = fetchResult.getAdvertisedRefs(); + for (Ref ref : fetchedRefs) { + log.info("Fetched branch: " + ref.getName()); + } + + // 更新本地分支信息 + git.branchList() + .setListMode(org.eclipse.jgit.api.ListBranchCommand.ListMode.REMOTE) + .call() + .forEach(ref -> { + String fullBranchName = ref.getName(); + String branchName = fullBranchName.replace("refs/remotes/origin/", ""); + try { + completionService.submit(() -> { + try { + processBranch(git, repository, credentialsProvider, fullBranchName, branchName); + } catch (Exception e) { + log.error("Failed to process branch: " + branchName, e); + } + return null; + }); + } catch (Exception e) { + log.error("Task submission rejected", e); + } + }); + + executorService.shutdown(); + try { + executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); + } catch (InterruptedException e) { + log.error("Executor service interrupted", e); + } + log.info("远程分支刷新到本地完成。"); + } catch (Exception e) { + log.error("Error occurred while refreshing remote branches ", e); + } + + // 切换分支 + gitCheckoutBranch(localPath, branch); + dvcPull(localPath); + dvcCheckout(localPath); + } + + private void processBranch(Git git, Repository repository, UsernamePasswordCredentialsProvider credentialsProvider, String fullBranchName, String branchName) throws Exception { + // 检查本地分支是否存在 + Ref localRef = repository.findRef("refs/heads/" + branchName); + if (localRef != null) { + // 如果存在,检查是否已经关联到远程分支 + if (!isBranchUpstreamSet(repository, branchName)) { + // 如果没有关联,设置上游分支 + git.branchCreate() + .setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.SET_UPSTREAM) + .setStartPoint(fullBranchName) + .setName(branchName) + .call(); + } + } else { + // 如果不存在,创建本地分支并设置上游分支 + git.branchCreate() + .setName(branchName) + .setStartPoint(fullBranchName) + .call(); + // 设置上游分支 + git.branchCreate() + .setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.SET_UPSTREAM) + .setStartPoint(fullBranchName) + .setName(branchName) + .call(); + } + // 执行 git pull + PullCommand pullCommand = git.pull() + .setTransportConfigCallback(new ProxyConfigCallback()) + .setCredentialsProvider(credentialsProvider); + pullCommand.call(); + } + + /** + * 检查本地分支是否已经关联到远程分支 + * + * @param repository 仓库对象 + * @param branchName 分支名称 + * @return 如果已经关联,返回 true;否则返回 false + */ + private static boolean isBranchUpstreamSet(Repository repository, String branchName) { + try { + org.eclipse.jgit.lib.Config config = repository.getConfig(); + String upstreamBranch = config.getString("branch", branchName, "merge"); + return upstreamBranch != null && !upstreamBranch.isEmpty(); + } catch (Exception e) { + log.error("Failed to check upstream for branch: " + branchName, e); + return false; + } + } + + + + + public void gitFetch(String localPath, String username, String password) throws IOException, GitAPIException { + FileRepositoryBuilder builder = new FileRepositoryBuilder(); + Repository repository = builder.setGitDir(new File(localPath, ".git")) + .readEnvironment() + .findGitDir() + .build(); + + try (Git git = new Git(repository)) { + CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password); + FetchCommand fetchCommand = git.fetch(); + fetchCommand.setCredentialsProvider(credentialsProvider).call(); + } + } + + //强制切换分支 + public void gitCheckoutBranch(String localPath, String branchName) throws IOException, GitAPIException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(new File(localPath, ".git")) .readEnvironment() @@ -104,11 +549,11 @@ public class DVCUtils { try (Git git = new Git(repository)) { CheckoutCommand checkoutCommand = git.checkout(); - checkoutCommand.setName(branchName).call(); + checkoutCommand.setName(branchName).setForce(true).call(); } } - public static void gitPull(String localPath, String username, String password) throws IOException, GitAPIException { + public void gitPull(String localPath, String username, String password) throws IOException, GitAPIException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(new File(localPath, ".git")) .readEnvironment() @@ -122,44 +567,75 @@ public class DVCUtils { } } - public static void dvcInit(String localPath) throws Exception { + public void dvcInit(String localPath) throws Exception { String command = "dvc init"; runCommand(command, localPath); } - public static void dvcAdd(String localPath, String filePath) throws Exception { + public void dvcAdd(String localPath, String filePath) throws Exception { String command = "dvc add " + filePath; runCommand(command, localPath); } - public static void dvcRemoteAdd(String localPath, String s3RemoteUrl) throws Exception { + public void dvcRemoteAdd(String localPath, String s3RemoteUrl) throws Exception { String command = "dvc remote add -d myremote s3://" + s3RemoteUrl; runCommand(command, localPath); } - public static void dvcConfigS3Credentials(String localPath, String endpointurl) throws Exception { + public void dvcConfigS3Credentials(String localPath, String endpointurl) throws Exception { String command = "dvc remote modify myremote endpointurl " + endpointurl; runCommand(command, localPath); } - public static void dvcConfigS3Credentials2(String localPath, String accessKeyId) throws Exception { + public void dvcConfigS3Credentials2(String localPath, String accessKeyId) throws Exception { String command = "dvc remote modify myremote access_key_id " + accessKeyId; runCommand(command, localPath); } - public static void dvcConfigS3Credentials3(String localPath, String secretAccessKey) throws Exception { + public void dvcConfigS3Credentials3(String localPath, String secretAccessKey) throws Exception { String command = "dvc remote modify myremote secret_access_key " + secretAccessKey; runCommand(command, localPath); } - public static void dvcPush(String localPath) throws Exception { - String command = "dvc push"; + public void dvcPush(String localPath) throws Exception { + String command = "dvc push -v"; runCommand(command, localPath); } - // 更新的 dvcPull 方法 - public static void dvcPull(String localPath) throws Exception { - String command = "dvc pull"; + // 强制刷新 dvcPull 方法 + public void dvcPull(String localPath) throws Exception { + String command = "dvc pull -v --force"; runCommand(command, localPath); } + + + // 方法 + public void dvcCheckout(String localPath) throws Exception { + String command = "dvc checkout -v --force"; + runCommand(command, localPath); + } + + + /** + * 切换到指定分支并执行git pull,然后获取data文件夹下所有文件的路径、名称和大小 + * + * @param localPath 本地路径 + * @param repoFolder 仓库文件夹名称 + * @param branch 分支名称 + * @return 包含文件路径、名称和大小的List> + */ + public List> getFileDetailsAfterGitPull(String localPath, String repoFolder, String branch, String filePath, String username, String password) { + try { + //刷新 + refreshRemoteBranches(localPath + "/" + repoFolder + "/" + branch, username, password, branch); + // 读取data文件夹中的文件列表 + String path = localPath + "/" + repoFolder + "/" + branch + "/" + filePath; + + return FileUtil.getFiles(path); + + } catch (Exception e) { + log.error("Error occurred while getting file details after git pull", e); + } + return new ArrayList<>(); + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java index aab81e56..e31eed5a 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java @@ -1,7 +1,21 @@ package com.ruoyi.platform.utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class FileUtil { + private static final Logger log = LoggerFactory.getLogger(DVCUtils.class); + // 格式化文件大小为可读的字符串表示 public static String formatFileSize(long sizeInBytes) { // 检查文件大小是否为负数 @@ -30,7 +44,71 @@ public class FileUtil { } } + /** + * 检查指定路径的文件夹是否存在 + * + * @param localPath 本地路径 + * @return 如果文件夹存在返回true,否则返回false + */ + public static boolean checkDirectoryExists(String localPath) { + File directory = new File(localPath); + return directory.exists() && directory.isDirectory(); + } + + + public static long getFolderSize(File folder) { + long size = 0; + File[] files = folder.listFiles(); // 获取文件夹下所有文件和子目录 + + if (files != null) { + for (File file : files) { + if (file.isFile()) { + // 如果是文件,则累加其大小 + size += file.length(); + } else if (file.isDirectory()) { + // 如果是子目录,则递归计算其大小 + size += getFolderSize(file); + } + } + } + return size; + } + + public static List> getFiles(String path) { + List> fileInfoList = new ArrayList<>(); + + Path dataPath = Paths.get(path); + File[] files = dataPath.toFile().listFiles(); + try { + if (files != null) { + for (File file : files) { + if (file.isFile()) { + long size = Files.size(file.toPath()); + String absoluteFilePath = file.getAbsolutePath(); + String fileName = file.getName(); + + Map fileDetails = new HashMap<>(); + fileDetails.put("size", size); + fileDetails.put("filePath", absoluteFilePath); + fileDetails.put("fileName", fileName); + fileInfoList.add(fileDetails); + } + } + } + } catch (Exception e) { + log.error("Error occurred while getting file details after git pull", e); + } + return fileInfoList; + } + public static void renameFile(String oldPath ,String newPath){ + File oldFolder = new File(oldPath); + // 新文件夹路径 + File newFolder = new File(newPath); + + // 重命名文件夹 + boolean renamed = oldFolder.renameTo(newFolder); + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/HttpUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/HttpUtils.java index 504c4c6a..0b6db3df 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/HttpUtils.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/HttpUtils.java @@ -1,5 +1,7 @@ package com.ruoyi.platform.utils; +import cn.hutool.http.HttpRequest; +import com.ruoyi.common.core.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -9,6 +11,7 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpDelete; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; @@ -100,15 +103,17 @@ public class HttpUtils { // public static String sendGetWithToken(String url, String param,String token) { // return sendGet(url, param, "UTF-8",token); // } + /** * 向指定 URL 发送带 token 的 GET 方法的请求,使用 Apache HttpClient * - * @param url 发送请求的 URL - * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 - * @param token 认证 token + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @param token 认证 token * @return 所代表远程资源的响应结果 */ public static String sendGetWithToken(String url, String param, String token) { + System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2"); String result = ""; try (CloseableHttpClient httpClient = HttpClients.createDefault()) { URIBuilder uriBuilder = new URIBuilder(url); @@ -146,6 +151,7 @@ public class HttpUtils { } return result; } + /** * 向指定 URL 发送带token的GET方法的请求 * @@ -154,7 +160,7 @@ public class HttpUtils { * @param contentType 编码类型 * @return 所代表远程资源的响应结果 */ - public static String sendGet(String url, String param, String contentType,String token) { + public static String sendGet(String url, String param, String contentType, String token) { StringBuilder result = new StringBuilder(); BufferedReader in = null; try { @@ -194,7 +200,6 @@ public class HttpUtils { } - /** * 向指定 URL 发送GET方法的请求 * @@ -207,7 +212,10 @@ public class HttpUtils { StringBuilder result = new StringBuilder(); BufferedReader in = null; try { - String urlNameString = url + "?" + param; + String urlNameString = url; + if (StringUtils.isNotEmpty(param)) { + urlNameString = url + "?" + param; + } log.info("sendGet - {}", urlNameString); URL realUrl = new URL(urlNameString); URLConnection connection = realUrl.openConnection(); @@ -243,11 +251,11 @@ public class HttpUtils { /** * 向指定 URL 发送带token的POST方法的请求 * - * @param url 发送请求的 URL + * @param url 发送请求的 URL * @param * @return 所代表远程资源的响应结果 */ - public static String sendPostWithToken(String url, Object params, String token) throws Exception { + public static String sendPostWithToken(String url, Object params, String token) throws Exception { String resultStr = null; HttpPost httpPost = new HttpPost(url); if (params != null) { @@ -276,6 +284,13 @@ public class HttpUtils { return resultStr; } + private static void clearProxySettings() { + System.clearProperty("http.proxyHost"); + System.clearProperty("http.proxyPort"); + System.clearProperty("https.proxyHost"); + System.clearProperty("https.proxyPort"); + } + /** * 向指定 URL 发送POST方法的请求 * @@ -284,6 +299,7 @@ public class HttpUtils { * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { + clearProxySettings(); PrintWriter out = null; BufferedReader in = null; StringBuilder result = new StringBuilder(); @@ -330,6 +346,20 @@ public class HttpUtils { return result.toString(); } + public static String sendPost(String url, String param, String body) { + clearProxySettings(); + String urlNameString = url; + if (StringUtils.isNotEmpty(param)) { + urlNameString = url + "?" + param; + } + String response = HttpRequest.post(urlNameString) + .body(body) // 设置请求体 + .contentType("application/json") // 设置Content-Type + .execute() + .body(); + return response; + } + public static String sendSSLPost(String url, String param) { StringBuilder result = new StringBuilder(); String urlNameString = url + "?" + param; @@ -516,11 +546,10 @@ public class HttpUtils { } - /** * 发送 HTTP 请求并返回二进制数据流(OutputStream)。 * - * @param url 请求的 URL 地址。 + * @param url 请求的 URL 地址。 * @param headers 头节点。 * @return 服务器响应的二进制数据流(OutputStream)。 * @throws IOException 如果请求失败或发生其他 I/O 错误。 @@ -622,4 +651,45 @@ public class HttpUtils { } return resultStr; } + + + // 其他方法保持不变 + + /** + * 向指定 URL 发送带 token 的 DELETE 方法的请求 + * + * @param url 发送请求的 URL + * @param token 认证 token,作为请求头的一部分。 + * @return 所代表远程资源的响应结果 + * @throws IOException 如果请求失败或发生其他 I/O 错误。 + */ + public static String sendDeleteRequest(String url, String token) throws IOException { + String result = ""; + try (CloseableHttpClient httpClient = HttpClients.createDefault()) { + HttpDelete httpDelete = new HttpDelete(url); + + // 设置请求头 + httpDelete.setHeader("Authorization", "Bearer " + token); + httpDelete.setHeader("Content-Type", "application/json"); + + // 创建请求配置 + RequestConfig requestConfig = RequestConfig.custom() + .setConnectTimeout(15000) // 连接服务区主机超时时间 + .setConnectionRequestTimeout(60000) // 连接请求超时时间 + .setSocketTimeout(60000) // 设置读取响应数据超时时间 + .build(); + httpDelete.setConfig(requestConfig); + + // 执行请求 + try (CloseableHttpResponse response = httpClient.execute(httpDelete)) { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode == 200) { + result = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); + } else { + throw new IOException("HTTP request failed with response code: " + statusCode); + } + } + } + return result; + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java index dbd4d7a2..34975688 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java @@ -1,5 +1,6 @@ package com.ruoyi.platform.utils; +import com.alibaba.fastjson2.JSON; import com.ruoyi.platform.constant.Constant; import com.ruoyi.platform.domain.DevEnvironment; import com.ruoyi.platform.mapper.ComputingResourceDao; @@ -8,10 +9,10 @@ import io.kubernetes.client.custom.IntOrString; import io.kubernetes.client.custom.Quantity; import io.kubernetes.client.openapi.ApiClient; import io.kubernetes.client.openapi.ApiException; +import io.kubernetes.client.openapi.apis.AppsV1Api; import io.kubernetes.client.openapi.apis.CoreV1Api; import io.kubernetes.client.openapi.models.*; -import io.kubernetes.client.util.ClientBuilder; -import io.kubernetes.client.util.credentials.AccessTokenAuthentication; +import io.kubernetes.client.util.Config; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.json.JSONObject; @@ -33,6 +34,10 @@ import java.util.*; @Slf4j @Component public class K8sClientUtil { + + @Value("${jupyter.hostPath}") + private String hostPath; + private String http; private String token; /** @@ -56,9 +61,10 @@ public class K8sClientUtil { this.http = http; this.token = token; try { - this.apiClient = new ClientBuilder(). - setBasePath(http).setVerifyingSsl(false). - setAuthentication(new AccessTokenAuthentication(token)).build(); +// this.apiClient = new ClientBuilder(). +// setBasePath(http).setVerifyingSsl(false). +// setAuthentication(new AccessTokenAuthentication(token)).build(); + this.apiClient = Config.fromCluster(); } catch (Exception e) { log.error("构建K8s-Client异常", e); throw new RuntimeException("构建K8s-Client异常"); @@ -310,10 +316,10 @@ public class K8sClientUtil { * @param image 镜像 * @return 创建成功的pod,的nodePort端口 */ +// public Integer createPodWithSubPath(String podName, String namespace, Integer port, String mountPath, String subPath, String pvcName, String image) { + public Integer createPodWithSubPath(String podName, String namespace, Integer port, String mountPath, String subPath, String image) { - public Integer createPodWithSubPath(String podName, String namespace, Integer port, String mountPath, String subPath, String pvcName, String image) { - - Map selector = new LinkedHashMap(); + Map selector = new LinkedHashMap<>(); selector.put("k8s-jupyter", podName); CoreV1Api api = new CoreV1Api(apiClient); @@ -335,6 +341,9 @@ public class K8sClientUtil { } } + int lastIndex = hostPath.lastIndexOf('/'); + String newPath = hostPath.substring(0, lastIndex); + V1Pod pod = new V1PodBuilder() .withNewMetadata() .withName(podName) @@ -361,13 +370,14 @@ public class K8sClientUtil { .endEnv() .endContainer() .addNewVolume() - .withName("workspace").withPersistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvcName)) + .withName("workspace") + .withHostPath(new V1HostPathVolumeSource().path(newPath).type("DirectoryOrCreate")) +// .withPersistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvcName)) .endVolume() .withTerminationGracePeriodSeconds(14400L) .endSpec() .build(); - try { pod = api.createNamespacedPod(namespace, pod, null, null, null); } catch (ApiException e) { @@ -434,7 +444,7 @@ public class K8sClientUtil { } if (v1PodList != null) { for (V1Pod pod1 : v1PodList.getItems()) { - // PVC 已存在 + // Pod 已存在 if (StringUtils.equals(pod1.getMetadata().getName(), podName)) { V1Service service = createService(namespace, podName + "-svc", port, selector); if (service != null) { @@ -446,34 +456,27 @@ public class K8sClientUtil { // 配置卷和卷挂载 List volumeMounts = new ArrayList<>(); - volumeMounts.add(new V1VolumeMount().name("workspace").mountPath(mountPath)); - volumeMounts.add(new V1VolumeMount().name("minio-pvc").mountPath("/opt/data").subPath(datasetPath).readOnly(true)); - volumeMounts.add(new V1VolumeMount().name("minio-pvc").mountPath("/opt/model").subPath(modelPath).readOnly(true)); + volumeMounts.add(new V1VolumeMount().name("workspace").mountPath("/opt/notebooks")); + volumeMounts.add(new V1VolumeMount().name("data").mountPath("/opt/dataset").subPath(datasetPath).readOnly(true)); + volumeMounts.add(new V1VolumeMount().name("data").mountPath("/opt/model").subPath(modelPath).readOnly(true)); List volumes = new ArrayList<>(); - volumes.add(new V1Volume().name("workspace").persistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvc.getMetadata().getName()))); - volumes.add(new V1Volume().name("minio-pvc").persistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(dataPvcName))); + volumes.add(new V1Volume().name("workspace").hostPath(new V1HostPathVolumeSource().path(hostPath + "/" + podName + "/notebooks").type("DirectoryOrCreate"))); + volumes.add(new V1Volume().name("data").hostPath(new V1HostPathVolumeSource().path(hostPath).type("DirectoryOrCreate"))); + // 配置卷和卷挂载 +// List volumeMounts = new ArrayList<>(); +// volumeMounts.add(new V1VolumeMount().name("workspace").mountPath(mountPath)); +// volumeMounts.add(new V1VolumeMount().name("minio-pvc").mountPath("/opt/data").subPath(datasetPath).readOnly(true)); +// volumeMounts.add(new V1VolumeMount().name("minio-pvc").mountPath("/opt/model").subPath(modelPath).readOnly(true)); +// +// List volumes = new ArrayList<>(); +// volumes.add(new V1Volume().name("workspace").persistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvc.getMetadata().getName()))); +// volumes.add(new V1Volume().name("minio-pvc").persistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(dataPvcName))); - //配置资源 - JSONObject standardJson = new JSONObject(devEnvironment.getStandard()); - JSONObject valueJson = (JSONObject) standardJson.get("value"); - int cpu = (int) valueJson.get("cpu"); - String memory = (String) valueJson.get("memory"); - memory = memory.substring(0, memory.length() - 1).concat("i"); - int gpu = (int) valueJson.get("gpu"); - HashMap limitMap = new HashMap<>(); - if (Constant.Computing_Resource_GPU.equals(devEnvironment.getComputingResource())) { - limitMap.put("nvidia.com/gpu", new Quantity(String.valueOf(gpu))); - } - limitMap.put("cpu", new Quantity(String.valueOf(cpu))); - limitMap.put("memory", new Quantity(memory)); - limitMap.put("ephemeral-storage", new Quantity("100Gi")); - - V1ResourceRequirements v1ResourceRequirements = new V1ResourceRequirements(); - v1ResourceRequirements.setRequests(limitMap); - v1ResourceRequirements.setLimits(limitMap); + //配置资源 + V1ResourceRequirements v1ResourceRequirements = setPodResource(devEnvironment.getStandard()); V1Pod pod = new V1PodBuilder() .withNewMetadata() @@ -526,12 +529,13 @@ public class K8sClientUtil { log.error("获取 POD 异常:", e); } // invokes the CoreV1Api client - - for (V1Pod item : v1PodList.getItems()) { - String generateName = item.getMetadata().getName(); - if (StringUtils.isNotEmpty(generateName) && generateName.startsWith(deploymentName)) { - // 找到匹配的Pod,获取其名称 - return item; + if (v1PodList != null) { + for (V1Pod item : v1PodList.getItems()) { + String generateName = item.getMetadata().getName(); + if (StringUtils.isNotEmpty(generateName) && generateName.startsWith(deploymentName)) { + // 找到匹配的Pod,获取其名称 + return item; + } } } return null; @@ -620,7 +624,17 @@ public class K8sClientUtil { public V1Pod createPodWithEnv(String podName, String namespace, String proxyUrl, String mountPath, String pvcName, String image) { CoreV1Api api = new CoreV1Api(apiClient); - V1PodList v1PodList = null; + + V1SecurityContext v1SecurityContext = new V1SecurityContext(); + v1SecurityContext.setPrivileged(true); + + // 配置卷和卷挂载 + List volumeMounts = new ArrayList<>(); + volumeMounts.add(new V1VolumeMount().name("workspace").mountPath(mountPath)); + + List volumes = new ArrayList<>(); + volumes.add(new V1Volume().name("workspace").hostPath(new V1HostPathVolumeSource().path(hostPath + "/" + podName + "/" + mountPath).type("DirectoryOrCreate"))); + V1Pod pod = new V1PodBuilder() .withNewMetadata() .withName(podName) @@ -629,7 +643,9 @@ public class K8sClientUtil { .addNewContainer() .withName(podName) .withImage(image) // 替换为您实际要使用的镜像名称 - .withVolumeMounts(new V1VolumeMount().name("workspace").mountPath(mountPath)) + .withSecurityContext(v1SecurityContext) +// .withVolumeMounts(new V1VolumeMount().name("workspace").mountPath(mountPath)) + .withVolumeMounts(volumeMounts) .withNewSecurityContext().withNewPrivileged(true).endSecurityContext() .addNewEnv() .withName("HTTP_PROXY") @@ -644,9 +660,10 @@ public class K8sClientUtil { .withValue("localhost,kubernetes.default.svc") .endEnv() .endContainer() - .addNewVolume() - .withName("workspace").withPersistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvcName)) - .endVolume() +// .addNewVolume() +// .withName("workspace").withPersistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvcName)) +// .endVolume() + .withVolumes(volumes) .endSpec() .build(); try { @@ -659,6 +676,98 @@ public class K8sClientUtil { return pod; } + + public Integer createDeployment(String dpName, String namespace, Integer replicas, String model, String image, Integer port, String resource, String mountPath + , String envVariables, String codeConfig) { + AppsV1Api api = new AppsV1Api(apiClient); + + //配置标签选择 + HashMap selector = new HashMap<>(); + selector.put("app", dpName); + + //配置资源 + V1ResourceRequirements v1ResourceRequirements = setPodResource(resource); + + //配置环境变量 + List env = new ArrayList<>(); + if (StringUtils.isNotEmpty(envVariables)) { + HashMap envMap = JSON.parseObject(envVariables, HashMap.class); + for (String key : envMap.keySet()) { + V1EnvVar envVar = new V1EnvVar().name(key).value(envMap.get(key)); + env.add(envVar); + } + } + + // 配置卷和卷挂载 +// List volumeMounts = new ArrayList<>(); +// volumeMounts.add(new V1VolumeMount().name("workspace").mountPath(mountPath)); +// volumeMounts.add(new V1VolumeMount().name("minio-pvc").mountPath("/opt/code").subPath(codeConfig).readOnly(true)); +// volumeMounts.add(new V1VolumeMount().name("minio-pvc").mountPath("/opt/model").subPath(model).readOnly(true)); +// +// List volumes = new ArrayList<>(); +// volumes.add(new V1Volume().name("workspace").persistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(pvc.getMetadata().getName()))); +// volumes.add(new V1Volume().name("minio-pvc").persistentVolumeClaim(new V1PersistentVolumeClaimVolumeSource().claimName(dataPvcName))); + + + //创建deployment + V1Deployment deployment = new V1DeploymentBuilder().withNewMetadata() + .withName(dpName) + .endMetadata() + .withNewSpec() + .withReplicas(replicas) + .withSelector(new V1LabelSelector().matchLabels(selector)) + .withNewTemplate() + .withNewMetadata() + .addToLabels("app", dpName) + .endMetadata() + .withNewSpec() + .addNewContainer() + .withName(dpName) + .withImage(image) + .withEnv(env) + .withPorts(new V1ContainerPort().containerPort(port).protocol("TCP")) + .withResources(v1ResourceRequirements) + .endContainer() + .endSpec() + .endTemplate() + .endSpec() + .build(); + + try { + api.createNamespacedDeployment(namespace, deployment, null, null, null); + } catch (ApiException e) { + throw new RuntimeException("创建deployment异常:" + e.getResponseBody()); + } + + V1Service service = createService(namespace, dpName + "-svc", port, selector); + return service.getSpec().getPorts().get(0).getNodePort(); + } + + + V1ResourceRequirements setPodResource(String resource) { + //配置pod资源 + JSONObject standardJson = new JSONObject(resource); + JSONObject valueJson = (JSONObject) standardJson.get("value"); + int cpu = (int) valueJson.get("cpu"); + String memory = (String) valueJson.get("memory"); + memory = memory.substring(0, memory.length() - 1).concat("i"); + Integer gpu = (Integer) valueJson.get("gpu"); + + HashMap limitMap = new HashMap<>(); + if (gpu != null && gpu != 0) { + limitMap.put("nvidia.com/gpu", new Quantity(String.valueOf(gpu))); + } + limitMap.put("cpu", new Quantity(String.valueOf(cpu))); + limitMap.put("memory", new Quantity(memory)); + limitMap.put("ephemeral-storage", new Quantity("100Gi")); + + V1ResourceRequirements v1ResourceRequirements = new V1ResourceRequirements(); + v1ResourceRequirements.setRequests(limitMap); + v1ResourceRequirements.setLimits(limitMap); + + return v1ResourceRequirements; + } + /** * 删除 Pod * diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java index bc5b234b..f311065a 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java @@ -1,31 +1,38 @@ package com.ruoyi.platform.utils; +import com.ruoyi.common.security.utils.SecurityUtils; import io.minio.*; import io.minio.errors.MinioException; import io.minio.messages.DeleteObject; import io.minio.messages.Item; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import java.io.*; +import java.net.URLDecoder; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; + @Slf4j @Component public class MinioUtil { private static MinioClient minioClient; + @Value("${git.localPath}") + String localPath; + @Autowired - public MinioUtil(@Value("${minio.endpoint}")String minioEndpoint,@Value("${minio.accessKey}")String minioAccessKey,@Value("${minio.secretKey}") String minioSecretKey) { + public MinioUtil(@Value("${minio.endpoint}") String minioEndpoint, @Value("${minio.accessKey}") String minioAccessKey, @Value("${minio.secretKey}") String minioSecretKey) { this.minioClient = MinioClient.builder() .endpoint(minioEndpoint) .credentials(minioAccessKey, minioSecretKey) @@ -192,7 +199,7 @@ public class MinioUtil { * @param srcObjectName 目标文件名称 */ public ObjectWriteResponse copyObject(String bucketName, String objectName, - String srcBucketName, String srcObjectName) throws Exception { + String srcBucketName, String srcObjectName) throws Exception { return minioClient.copyObject( CopyObjectArgs.builder() .source(CopySource.builder().bucket(bucketName).object(objectName).build()) @@ -202,14 +209,13 @@ public class MinioUtil { } - /** * 递归拷贝 * - * @param sourceBucketName 源bucket名称 - * @param sourceKeyPrefix 源目录路径 + * @param sourceBucketName 源bucket名称 + * @param sourceKeyPrefix 源目录路径 * @param targetBucketName 目标bucket名称 - * @param targetKeyPrefix 目标目录名称 + * @param targetKeyPrefix 目标目录名称 */ public void copyDirectory(String sourceBucketName, String sourceKeyPrefix, String targetBucketName, String targetKeyPrefix) throws Exception { @@ -238,9 +244,6 @@ public class MinioUtil { } - - - /** * 获取文件流 * @@ -267,6 +270,38 @@ public class MinioUtil { } + public void downloadFiles(String bucketName, String root_path, String targetPath) throws Exception { + ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().bucket(bucketName).prefix(root_path).build(); + findAndSaveFile(listObjectsArgs, bucketName, targetPath); + } + + private void findAndSaveFile(ListObjectsArgs listObjectsArgs, String bucketName, String targetPath) throws Exception { + // List all objects in the bucket + Iterable> results = minioClient.listObjects(listObjectsArgs); + for (Result result : results) { + Item item = result.get(); + if (item.isDir()) { + System.out.println("文件夹:" + URLDecoder.decode(item.objectName(), "UTF-8"));//输出日志 + ListObjectsArgs args = ListObjectsArgs.builder().bucket(bucketName).prefix(item.objectName()).build(); + findAndSaveFile(args, bucketName, targetPath); + } else { + GetObjectArgs getObjectArgs = GetObjectArgs.builder().bucket(bucketName).object(URLDecoder.decode(item.objectName())).build(); + String objectName = URLDecoder.decode(item.objectName(), "UTF-8"); + // Create a local file with the same name as the object + Path fileName = Paths.get(objectName).getFileName(); + String targetFile = targetPath + "/" + fileName.toString(); + File file = new File(targetFile); + // Create parent directories if needed + file.getParentFile().mkdirs(); + // Get the object as an input stream + try (InputStream stream = minioClient.getObject(getObjectArgs)) { + // Copy the input stream to the file + FileUtils.copyInputStreamToFile(stream, file); + } + System.out.printf("文件:%s 下载成功!\n", URLDecoder.decode(item.objectName()));//输出日志 + } + } + } public List listFilesInDirectory(String bucketName, String prefix) throws Exception { List fileInfoList = new ArrayList<>(); @@ -322,8 +357,6 @@ public class MinioUtil { } - - public String readObjectAsString(String bucketName, String objectName) throws Exception { try (InputStream inputStream = minioClient.getObject( GetObjectArgs.builder() @@ -341,6 +374,7 @@ public class MinioUtil { return content.toString(); } } + /** * Downloads files and folders from the specified bucket and path, and creates a zip archive. * @@ -350,7 +384,7 @@ public class MinioUtil { * @throws MinioException If an error occurs while communicating with Minio. * @throws IOException If an I/O error occurs during zip creation. */ - public InputStream downloadAndZip(String bucketName, String path) throws Exception{ + public InputStream downloadAndZip(String bucketName, String path) throws Exception { try (ByteArrayOutputStream zipOutputStream = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(zipOutputStream)) { @@ -360,21 +394,24 @@ public class MinioUtil { for (Result result : results) { Item item = result.get(); String objectName = item.objectName(); - InputStream objectStream = minioClient.getObject( - GetObjectArgs.builder().bucket(bucketName).object(objectName).build()); - - // Create a zip entry for each object - ZipEntry zipEntry = new ZipEntry(objectName); - zip.putNextEntry(zipEntry); - - // Write object data to zip stream - byte[] buffer = new byte[1024]; - int bytesRead; - while ((bytesRead = objectStream.read(buffer)) != -1) { - zip.write(buffer, 0, bytesRead); + if (!objectName.contains(".git")) { + InputStream objectStream = minioClient.getObject( + GetObjectArgs.builder().bucket(bucketName).object(objectName).build()); + + + // Create a zip entry for each object + ZipEntry zipEntry = new ZipEntry(objectName); + zip.putNextEntry(zipEntry); + + // Write object data to zip stream + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = objectStream.read(buffer)) != -1) { + zip.write(buffer, 0, bytesRead); + } + zip.closeEntry(); + objectStream.close(); } - zip.closeEntry(); - objectStream.close(); } zip.finish(); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/NewHttpUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/NewHttpUtils.java new file mode 100644 index 00000000..da117614 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/NewHttpUtils.java @@ -0,0 +1,132 @@ +package com.ruoyi.platform.utils; +import org.apache.http.HttpHost; +import org.apache.http.client.methods.*; +import org.apache.http.client.utils.URIBuilder; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.conn.ssl.TrustSelfSignedStrategy; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.net.ssl.SSLContext; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; + +@Component +public class NewHttpUtils { + + private static final Logger log = LoggerFactory.getLogger(NewHttpUtils.class); + + @Value("${proxy.useProxy:false}") + private boolean useProxy; + + @Value("${proxy.host}") + private String host; + + @Value("${proxy.port}") + private Integer port; + + private static CloseableHttpClient httpClient; + + @PostConstruct + public void init() { + try { + SSLContext sslContext = SSLContextBuilder.create() + .loadTrustMaterial(new TrustSelfSignedStrategy()) + .build(); + + SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext); + + if (useProxy) { + httpClient = HttpClients.custom() + .setSSLSocketFactory(sslSocketFactory) + .setProxy(new HttpHost(host, port)) + .build(); + } else { + httpClient = HttpClients.custom() + .setSSLSocketFactory(sslSocketFactory) + .build(); + } + } catch (Exception e) { + throw new RuntimeException("Failed to initialize HttpClient", e); + } + } + + public static String sendGet(String url, String param) { + return sendRequest(new HttpGet(), url, param, null, null); + } + + public static String sendPost(String url, String param, String body) { + return sendRequest(new HttpPost(), url, param, null, body); + } + + public static String sendGetWithToken(String url, String param, String token) { + return sendRequest(new HttpGet(), url, param, token, null); + } + + public static String sendPostWithToken(String url, String param, String token, String body) { + return sendRequest(new HttpPost(), url, param, token, body); + } + + public static String sendDeleteWithToken(String url, String param, String token) { + return sendRequest(new HttpDelete(), url, param, token, null); + } + + private static String sendRequest(HttpRequestBase request, String url, String param, String token, String body) { + if (httpClient == null) { + throw new IllegalStateException("HttpClient is not initialized"); + } + + String result = ""; + try { + URIBuilder uriBuilder = new URIBuilder(url); + if (param != null && !param.isEmpty()) { + String[] pairs = param.split("&"); + for (String pair : pairs) { + int idx = pair.indexOf("="); + if (idx != -1) { + uriBuilder.setParameter(pair.substring(0, idx), pair.substring(idx + 1)); + } + } + } + + URI uri = uriBuilder.build(); + request.setURI(uri); + + request.setHeader("Content-Type", "application/json"); + if (token != null) { + request.setHeader("Authorization", "Bearer " + token); + } + + if (request instanceof HttpEntityEnclosingRequestBase && body != null) { + ((HttpEntityEnclosingRequestBase) request).setEntity(new StringEntity(body, StandardCharsets.UTF_8)); + } + + log.info("Executing request: " + request.getRequestLine()); + + try (CloseableHttpResponse response = httpClient.execute(request)) { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode >= 200 && statusCode < 300) { + result = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); + } else { + throw new IOException("HTTP request failed with response code: " + statusCode); + } + log.info("Response: " + result); + } + } catch (URISyntaxException e) { + log.error("URISyntaxException, url=" + url + ", param=" + param, e); + } catch (IOException e) { + log.error("IOException, url=" + url + ", param=" + param, e); + } + return result; + } +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/YamlUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/YamlUtils.java index 395e78b3..142406cf 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/YamlUtils.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/YamlUtils.java @@ -1,28 +1,125 @@ package com.ruoyi.platform.utils; +import com.alibaba.fastjson2.JSON; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.PropertyNamingStrategies; +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; +import org.springframework.stereotype.Component; +import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; -import java.io.FileWriter; -import java.io.IOException; +import java.io.*; import java.util.Map; + +//import org.ho.yaml.Yaml; + +@Component public class YamlUtils { /** * 将Map对象转换为YAML格式并写入指定路径的文件中 * - * @param data Map对象 - * @param path 文件路径 - * @param fileName 文件名 + * @param data Map对象 + * @param path 文件路径 + * @param fileName 文件名 */ public static void generateYamlFile(Map data, String path, String fileName) { - Yaml yaml = new Yaml(); + DumperOptions options = new DumperOptions(); + options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + options.setDefaultScalarStyle(DumperOptions.ScalarStyle.PLAIN); + + + // 创建Yaml实例 + Yaml yaml = new Yaml(options); + + File directory = new File(path); + if (!directory.exists()) { + boolean isCreated = directory.mkdirs(); + if (!isCreated) { + throw new RuntimeException("创建路径失败: " + path); + } + } + String fullPath = path + "/" + fileName + ".yaml"; try (FileWriter writer = new FileWriter(fullPath)) { + String dump = yaml.dump(data); + yaml.dump(data, writer); } catch (IOException e) { e.printStackTrace(); } } + + +// public static void generateYamlFile1(Object data, String path, String fileName) { +// try { +// YAMLFactory yamlFactory = new YAMLFactory(); +// yamlFactory.enable(YAMLGenerator.Feature.MINIMIZE_QUOTES); +// yamlFactory.disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER); +//// +// ObjectMapper objectMapper = new ObjectMapper(yamlFactory); +//// ObjectMapper objectMapper = new ObjectMapper(); +// objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); +// String s = objectMapper.writeValueAsString(data); +// +// File directory = new File(path); +// if (!directory.exists()) { +// boolean isCreated = directory.mkdirs(); +// if (!isCreated) { +// throw new RuntimeException("创建路径失败: " + path); +// } +// } +// +// try { +// DumperOptions options = new DumperOptions(); +// options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); +// // 创建Yaml实例 +// Yaml yaml = new Yaml(options); +// +// String fullPath = path + "/" + fileName + ".yaml"; +// FileWriter writer = new FileWriter(fullPath); +// +// yaml.dump(s, writer); +// } catch (FileNotFoundException e) { +// e.printStackTrace(); +// +// } catch (IOException e) { +// throw new RuntimeException(e); +// } +// +// +// } catch (JsonProcessingException e) { +// throw new RuntimeException(e); +// } +// } + + + /** + * 读取YAML文件并将其内容转换为Map + * + * @param filePath YAML文件路径 + * @return 包含YAML内容的Map + */ + public static Map loadYamlFile(String filePath) { + Yaml yaml = new Yaml(); + try (InputStream inputStream = new FileInputStream(new File(filePath))) { + return yaml.load(inputStream); + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } + + public static boolean isNumeric(String str) { + try { + double num = Double.parseDouble(str); + return true; + } catch (NumberFormatException e) { + return false; + } + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/FrameLogPathVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/FrameLogPathVo.java index 99a03017..da32b84d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/FrameLogPathVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/FrameLogPathVo.java @@ -9,8 +9,8 @@ import java.io.Serializable; public class FrameLogPathVo implements Serializable { String path; String namespace; - String pvcName; +// String pvcName; public String getPath() { return path; } @@ -27,11 +27,11 @@ public class FrameLogPathVo implements Serializable { this.namespace = namespace; } - public String getPvcName() { - return pvcName; - } - - public void setPvcName(String pvcName) { - this.pvcName = pvcName; - } +// public String getPvcName() { +// return pvcName; +// } +// +// public void setPvcName(String pvcName) { +// this.pvcName = pvcName; +// } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/GitProjectVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/GitProjectVo.java index a31a7cd1..2f0ad0fb 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/GitProjectVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/GitProjectVo.java @@ -25,8 +25,9 @@ public class GitProjectVo implements Serializable { @ApiModelProperty(value = "项目标识", required = true) private String repositoryName; -// @ApiModelProperty(value = "项目分类ID", required = false) -// private int projectCategoryId; + @ApiModelProperty(value = "项目分类ID", required = false) + private int projectCategoryId; + // // @ApiModelProperty(value = "项目语言ID", required = false) // private int projectLanguageId; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependency1TreeVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependency1TreeVo.java new file mode 100644 index 00000000..ecca3b38 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependency1TreeVo.java @@ -0,0 +1,20 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import com.ruoyi.platform.domain.ModelDependency1; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class ModelDependency1TreeVo extends ModelDependency1 implements Serializable { + + ModelDependency1TreeVo parentModelVo; + + ModelMetaVo modelMeta; + + List childModelList; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java new file mode 100644 index 00000000..2a5cc2f5 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java @@ -0,0 +1,102 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import com.ruoyi.platform.domain.dependencydomain.ProjectDepency; +import com.ruoyi.platform.domain.dependencydomain.TrainTaskDepency; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class ModelMetaVo implements Serializable { + private Integer id; + + @ApiModelProperty(name = "模型名称") + private String name; + + @ApiModelProperty(name = "版本") + private String version; + + @ApiModelProperty(name = "版本描述") + private String versionDesc; + + @ApiModelProperty(value = "创建人") + private String createBy; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModelProperty(value = "更新时间") + private String updateTime; + + @ApiModelProperty(value = "模型大小") + private String modelSize; + + @ApiModelProperty(value = "训练镜像") + private String image; + +// @ApiModelProperty(value = "训练代码") +// private String code; + + @ApiModelProperty(value = "模型来源") + private String modelSource; + + @ApiModelProperty(value = "训练数据集") + private List trainDatasets; + + @ApiModelProperty(value = "测试数据集") + private List testDatasets; + + @ApiModelProperty(value = "参数") + private HashMap params; + + @ApiModelProperty(value = "指标") + private HashMap metrics; + + @ApiModelProperty(value = "指标查询参数") + private HashMap metricsParams; + + @ApiModelProperty(value = "实验实例id") + private Integer insId; + + @ApiModelProperty(value = "训练任务") + private TrainTaskDepency trainTask; + + @ApiModelProperty(value = "模型标签(模型能力)") + private String modelTag; + + @ApiModelProperty(value = "模型类型(模型框架)") + private String modelType; + + @ApiModelProperty(value = "模型描述") + private String description; + + @ApiModelProperty(value = "示例用法") + private String usage; + + @ApiModelProperty(name = "time_ago", value = "更新时间") + private String timeAgo; + + @ApiModelProperty(name = "owner", value = "项目所有者") + private String owner; + + @ApiModelProperty(name = "identifier", value = "模型仓库名称") + private String identifier; + + @ApiModelProperty(name = "is_public", value = "是否公开1公开,0私有") + private Boolean isPublic; + + @ApiModelProperty(name = "relative_paths",value = "文件相对路径") + private String relativePaths; + + @ApiModelProperty(name = "project_depency",value = "项目依赖") + private ProjectDepency projectDepency; + +} + diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java index 315d60d4..9859bf77 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java @@ -2,117 +2,23 @@ package com.ruoyi.platform.vo; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; -import com.ruoyi.platform.domain.ModelsVersion; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import java.io.Serializable; import java.util.List; @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) -public class ModelsVo implements Serializable { +@Data +public class ModelsVo extends ModelMetaVo implements Serializable { - - @ApiModelProperty(name = "name") - private String name; - - // private String version; - @ApiModelProperty(name = "description") - private String description; - - /** - * 模型可见范围 - */ - @ApiModelProperty(name = "available_range") - private int availableRange; - - - // private String url; - @ApiModelProperty(name = "model_type") - private String modelType; - - - @ApiModelProperty(name = "model_tag") - private String modelTag; - /** - * 版本 - */ - @ApiModelProperty(name = "version") - private String version; - - /** - * 状态 - */ - @ApiModelProperty(name = "status") + @ApiModelProperty(name = "status", value = "状态") private Integer status; - @ApiModelProperty(name = "models_version_vos") - private List modelsVersionVos; - - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public int getAvailableRange() { - return availableRange; - } - - public void setAvailableRange(int availableRange) { - this.availableRange = availableRange; - } - - - public String getModelType() { - return modelType; - } - - public void setModelType(String modelType) { - this.modelType = modelType; - } - - public String getModelTag() { - return modelTag; - } - - public void setModelTag(String modelTag) { - this.modelTag = modelTag; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public Integer getStatus() { - return status; - } - - public void setStatus(Integer status) { - this.status = status; - } - - public List getModelsVersionVos() { - return modelsVersionVos; - } - - public void setModelsVersionVos(List modelsVersionVos) { - this.modelsVersionVos = modelsVersionVos; - } + @ApiModelProperty(name = "model_version_vos") + private List modelVersionVos; + @ApiModelProperty(name = "parent_model", value = "父模型") + private String parentModel; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java index 3548c470..fb089000 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java @@ -4,13 +4,15 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.apache.ibatis.annotations.MapKey; import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; -@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) @Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class NewDatasetVo implements Serializable { @@ -19,25 +21,50 @@ public class NewDatasetVo implements Serializable { /** * 数据集仓库名称 */ - @ApiModelProperty(name = "identifier") + @ApiModelProperty(name = "identifier", value = "数据集仓库名称") private String identifier; - @ApiModelProperty(name = "description") + @ApiModelProperty(name = "description",value = "数据集描述") private String description; /** * 是否公开1公开,0私有 */ - @ApiModelProperty(name = "is_public") + @ApiModelProperty(name = "is_public", value = "是否公开1公开,0私有") private Boolean isPublic; - @ApiModelProperty(name = "data_type") + @ApiModelProperty(name = "data_type",value = "数据集类型") private String dataType; - @ApiModelProperty(name = "data_tag") + @ApiModelProperty(name = "data_tag",value = "数据集标签") private String dataTag; - @ApiModelProperty(name = "time_ago") + /** + * 版本 + */ + @ApiModelProperty(name = "version",value = "版本") + private String version; + @ApiModelProperty(name = "dataset_version_vos",value = "文件列表") + private List datasetVersionVos; + + @ApiModelProperty(name = "time_ago",value = "更新时间") private String timeAgo; - @ApiModelProperty(name = "repo_id") - private Integer repoId; - @ApiModelProperty(name = "visits") + @ApiModelProperty(name = "id",value = "数据集仓库id") + private Integer id; + @ApiModelProperty(name = "visits",value = "访问次数") private Integer visits; - @ApiModelProperty(name = "create_by") + @ApiModelProperty(name = "create_by",value = "创建者") private String createBy; + @ApiModelProperty(name = "version_desc",value = "版本描述") + private String versionDesc; + @ApiModelProperty(name = "usage",value = "使用示例") + private String usage; + @ApiModelProperty(name = "update_time",value = "更新时间") + private String updateTime; + @ApiModelProperty(name = "processing_code",value = "处理代码") + private HashMap processingCode; + @ApiModelProperty(name = "train_task",value = "训练任务") + private HashMap trainTask; + @ApiModelProperty(name = "owner",value = "项目所有者") + private String owner; + @ApiModelProperty(name = "dataset_source",value = "数据集来源") + private String datasetSource; + @ApiModelProperty(name = "relative_paths",value = "文件相对路径") + private String relativePaths; + } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java new file mode 100644 index 00000000..435eaea4 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java @@ -0,0 +1,22 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.Data; + +import java.util.List; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class QueryModelMetricsVo { + + private Integer repoId; + + private String identifier; + + private List versions; + + private List metrics; + + private String type; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceCodeConfigVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceCodeConfigVo.java new file mode 100644 index 00000000..512ae784 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceCodeConfigVo.java @@ -0,0 +1,15 @@ +package com.ruoyi.platform.vo.serviceVos; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.Data; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class ServiceCodeConfigVo { + private String codePath; + + private String branch; + + private String showValue; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceModelVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceModelVo.java new file mode 100644 index 00000000..0d726145 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceModelVo.java @@ -0,0 +1,24 @@ +package com.ruoyi.platform.vo.serviceVos; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.Data; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class ServiceModelVo { + + private String id; + + private String name; + + private String version; + + private String path; + + private String identifier; + + private String owner; + + private String showValue; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceVersionVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceVersionVo.java new file mode 100644 index 00000000..3baae9b1 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/serviceVos/ServiceVersionVo.java @@ -0,0 +1,60 @@ +package com.ruoyi.platform.vo.serviceVos; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.Map; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@ApiModel("服务版本") +@Data +public class ServiceVersionVo { + private Long id; + + private Long serviceId; + + private String serviceName; + + private String version; + + private String description; + + private ServiceModelVo model; + + private String image; + + private String resource; + + private Integer replicas; + + private String mountPath; + + private Map envVariables; + + private ServiceCodeConfigVo codeConfig; + + private String command; + + private String url; + + private String createBy; + + private String updateBy; + + private Date createTime; + + private Date updateTime; + + private Integer state; + + private String runState; + + private String deploymentName; + + private String svcName; + + private Boolean rerun; +} diff --git a/ruoyi-modules/management-platform/src/main/resources/bootstrap.yml b/ruoyi-modules/management-platform/src/main/resources/bootstrap.yml index 11095bb1..22eaf828 100644 --- a/ruoyi-modules/management-platform/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/management-platform/src/main/resources/bootstrap.yml @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDependencyDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDependencyDaoMapper.xml new file mode 100644 index 00000000..9e28493e --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDependencyDaoMapper.xml @@ -0,0 +1,10 @@ + + + + + + + insert into dataset_dependcy(parent_dataset, dataset_name, version, repo_id, identifier, owner, meta, state) + values (#{parentDataset}, #{datasetName}, #{version}, #{repoId}, #{identifier}, #{owner}, #{meta}, #{state}) + + \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetTempStorageDao.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetTempStorageDao.xml new file mode 100644 index 00000000..d69865c0 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetTempStorageDao.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into dataset_temp_storage(name, version, source, state, create_by, create_time, update_by, update_time) + values (#{name}, #{version}, #{source}, #{state}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}) + + + + insert into dataset_temp_storage(name, version, source, state, create_by, create_time, update_by, update_time) + values + + (#{entity.name}, #{entity.version}, #{entity.source}, #{entity.state}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}) + + + + + insert into dataset_temp_storage(name, version, source, state, create_by, create_time, update_by, update_time) + values + + (#{entity.name}, #{entity.version}, #{entity.source}, #{entity.state}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}) + + on duplicate key update + name = values(name), + version = values(version), + source = values(source), + state = values(state), + create_by = values(create_by), + create_time = values(create_time), + update_by = values(update_by), + update_time = values(update_time) + + + + + update dataset_temp_storage + + + name = #{name}, + + + version = #{version}, + + + source = #{source}, + + + state = #{state}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + where id = #{id} + + + + + delete from dataset_temp_storage where id = #{id} + + + diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml index d33201f6..e46da649 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml @@ -13,6 +13,7 @@ + @@ -20,11 +21,12 @@ + - select id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status,nodes_result, nodes_logs,global_param,metric_record, start_time, finish_time, create_by, create_time, update_by, update_time, state - from experiment_ins - where id = #{id} and state = 1 + select a.id, + experiment_id, + argo_ins_name, + argo_ins_ns, + status, + nodes_status, + nodes_result, + nodes_logs, + a.global_param, + metric_record, + start_time, + finish_time, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.state, + b.name experiment_name + from experiment_ins a, + experiment b + where a.experiment_id = b.id + and a.id = #{id} + and a.state = 1 select - id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status,nodes_result, nodes_logs,global_param,metric_record, start_time, finish_time, create_by, create_time, update_by, update_time, state + id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status,nodes_result, nodes_logs,global_param,metric_record,metric_value, start_time, finish_time, create_by, create_time, update_by, update_time, state from experiment_ins state = 1 @@ -114,7 +136,7 @@ + + + + - insert into experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,nodes_logs,global_param,metric_record,start_time,finish_time,create_by,create_time,update_by,update_time,state) - values (#{experimentIns.experimentId},#{experimentIns.argoInsName},#{experimentIns.argoInsNs},#{experimentIns.status},#{experimentIns.nodesStatus},#{experimentIns.nodesResult},#{experimentIns.nodesLogs},#{experimentIns.globalParam},#{experimentIns.metricRecord},#{experimentIns.startTime},#{experimentIns.finishTime},#{experimentIns.createBy},#{experimentIns.createTime},#{experimentIns.updateBy},#{experimentIns.updateTime},#{experimentIns.state}) + insert into experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,nodes_logs,global_param,metric_record,metric_value,start_time,finish_time,create_by,create_time,update_by,update_time,state) + values (#{experimentIns.experimentId},#{experimentIns.argoInsName},#{experimentIns.argoInsNs},#{experimentIns.status},#{experimentIns.nodesStatus},#{experimentIns.nodesResult},#{experimentIns.nodesLogs},#{experimentIns.globalParam},#{experimentIns.metricRecord},#{experimentIns.metricValue},#{experimentIns.startTime},#{experimentIns.finishTime},#{experimentIns.createBy},#{experimentIns.createTime},#{experimentIns.updateBy},#{experimentIns.updateTime},#{experimentIns.state}) insert into - experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,nodes_logs,global_param,metric_record,start_time,finish_time,create_by,create_time,update_by,update_time,state) + experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,nodes_logs,global_param,metric_record,metric_value,start_time,finish_time,create_by,create_time,update_by,update_time,state) values - (#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesResult},#{entity.nodesLogs},#{entity.globalParam},#{entity.metricRecord},#{entity.startTime},#{entity.finishTime},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state}) + (#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesResult},#{entity.nodesLogs},#{entity.globalParam},#{entity.metricRecord},#{entity.metricValue},#{entity.startTime},#{entity.finishTime},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state}) @@ -254,10 +305,10 @@ - insert into experiment_ins (id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status, nodes_result, nodes_logs, global_param,metric_record, start_time, finish_time, create_by, create_time, update_by, update_time, state) + insert into experiment_ins (id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status, nodes_result, nodes_logs, global_param,metric_record, start_time, finish_time, create_by, create_time, update_by, update_time, state, metric_value) values - (#{item.id}, #{item.experimentId}, #{item.argoInsName}, #{item.argoInsNs}, #{item.status}, #{item.nodesStatus}, #{item.nodesResult}, #{item.nodesLogs}, #{item.globalParam},#{item.metricRecord}, #{item.startTime}, #{item.finishTime}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.state}) + (#{item.id}, #{item.experimentId}, #{item.argoInsName}, #{item.argoInsNs}, #{item.status}, #{item.nodesStatus}, #{item.nodesResult}, #{item.nodesLogs}, #{item.globalParam},#{item.metricRecord}, #{item.startTime}, #{item.finishTime}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.state}, #{item.metricValue}) ON DUPLICATE KEY UPDATE experiment_id = VALUES(experiment_id), @@ -275,7 +326,8 @@ create_time = VALUES(create_time), update_by = VALUES(update_by), update_time = VALUES(update_time), - state = VALUES(state); + state = VALUES(state), + metric_value = VALUES(metric_value); diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml new file mode 100644 index 00000000..69f27b51 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml @@ -0,0 +1,103 @@ + + + + + + + insert into model_dependency1(parent_model, model_name, version, repo_id, identifier, owner, meta, state) + values (#{parentModel}, #{modelName}, #{version}, #{repoId}, #{identifier}, #{owner}, #{meta}, #{state}) + + + + + + + + + + + + + + + + + + update model_dependency1 + set state = 0 + where repo_id = #{repoId} and identifier = #{identifier} and owner = #{owner} + + and version = #{version} + + + + + update model_dependency1 + set parent_model = null + where JSON_CONTAINS(parent_model, #{parentModel}) + + + + update model_dependency1 + set state = 1, + meta = #{meta} + where repo_id = #{repoId} + and identifier = #{identifier} + and version = #{version} + and state = 2 + + \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsDaoMapper.xml index 07a92767..23cbc30b 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsDaoMapper.xml @@ -19,7 +19,7 @@ @@ -27,7 +27,7 @@ + select count(1) from service + + state = 1 + + and service_name like concat('%', #{service.serviceName}, '%') + + + and service_type = #{service.serviceType} + + + + + + + + + + + + select * from service_version + + state = 1 + + and version like concat('%', #{serviceVersion.version}, '%') + + + and service_id = #{serviceVersion.serviceId} + + + order by update_time DESC + + + + + + + + + + + + + + insert into service(service_name, service_type, description, create_by, update_by) + values (#{service.serviceName}, #{service.serviceType}, #{service.description}, #{service.createBy}, #{service.updateBy}) + + + + insert into service_version(service_id, version, model, description, image, resource, replicas, mount_path, env_variables, + code_config, command, create_by, update_by) + values (#{serviceVersion.serviceId}, #{serviceVersion.version}, #{serviceVersion.model}, #{serviceVersion.description}, #{serviceVersion.image}, + #{serviceVersion.resource}, #{serviceVersion.replicas}, #{serviceVersion.mountPath}, #{serviceVersion.envVariables}, + #{serviceVersion.codeConfig}, #{serviceVersion.command}, #{serviceVersion.createBy}, #{serviceVersion.updateBy}) + + + + update service + + + service_name = #{service.serviceName}, + + + service_type = #{service.serviceType}, + + + description = #{service.description}, + + + state = #{service.state}, + + + where id = #{service.id} + + + + update service_version + + + description = #{serviceVersion.description}, + + + model = #{serviceVersion.model}, + + + image = #{serviceVersion.image}, + + + resource = #{serviceVersion.resource}, + + + replicas = #{serviceVersion.replicas}, + + + mount_path = #{serviceVersion.mountPath}, + + + env_variables = #{serviceVersion.envVariables}, + + + code_config = #{serviceVersion.codeConfig}, + + + command = #{serviceVersion.command}, + + + url = #{serviceVersion.url}, + + + state = #{serviceVersion.state}, + + + run_state = #{serviceVersion.runState}, + + + deployment_name = #{serviceVersion.deploymentName}, + + + svc_name = #{serviceVersion.svcName}, + + + where id = #{serviceVersion.id} + + + + update service_version + set run_state = #{runState} + where deployment_name = #{deploymentName} + + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml index 30ee8b10..490b9bd0 100644 --- a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml index b2f67919..c2124e33 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml index 8c79d3ad..389235a0 100644 --- a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index 713c6cd2..aa7b3039 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -186,7 +186,7 @@ public class SysUserController extends BaseController { } user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - user.setGitLinkPassword(SecurityUtils.encryptPassword(user.getGitLinkPassword())); +// user.setGitLinkPassword(SecurityUtils.encryptPassword(user.getGitLinkPassword())); return toAjax(userService.insertUser(user)); } @@ -212,9 +212,9 @@ public class SysUserController extends BaseController { if(StringUtils.isNotEmpty(user.getPassword())){ user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); } - if(StringUtils.isNotEmpty(user.getGitLinkPassword())){ - user.setGitLinkPassword(SecurityUtils.encryptPassword(user.getGitLinkPassword())); - } +// if(StringUtils.isNotEmpty(user.getGitLinkPassword())){ +// user.setGitLinkPassword(SecurityUtils.encryptPassword(user.getGitLinkPassword())); +// } return toAjax(userService.updateUser(user)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml index c7ddcd4e..4172ade8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml @@ -3,7 +3,7 @@ server: port: 9201 # Spring -spring: +spring: application: # 应用名称 name: ruoyi-system @@ -14,18 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos - retry: - enabled: true + password: h1n2x3j4y5@ config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 shared-configs: - - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: DEFAULT_GROUP - refresh: true + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml index c2876a08..c3f3ead1 100644 --- a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml +++ b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml @@ -14,14 +14,16 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 username: nacos - password: nacos + password: h1n2x3j4y5@ retry: enabled: true config: + username: nacos + password: h1n2x3j4y5@ # 配置中心地址 - server-addr: nacos-ci4s.ci4s-test.svc:8848 + server-addr: nacos-ci4s.argo.svc:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/sql/nacos-ci4s-config.sql b/sql/nacos-ci4s-config.sql new file mode 100644 index 00000000..fbc45574 --- /dev/null +++ b/sql/nacos-ci4s-config.sql @@ -0,0 +1,317 @@ +/* + Navicat Premium Data Transfer + + Source Server : test-ci4s185 + Source Server Type : MySQL + Source Server Version : 50730 + Source Host : 172.20.32.185:31201 + Source Schema : nacos-ci4s-config + + Target Server Type : MySQL + Target Server Version : 50730 + File Encoding : 65001 + + Date: 02/04/2024 14:18:16 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for config_info +-- ---------------------------- +DROP TABLE IF EXISTS `config_info`; +CREATE TABLE `config_info` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', + `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', + `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', + `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', + `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', + `c_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `c_use` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `effect` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `c_schema` text CHARACTER SET utf8 COLLATE utf8_bin NULL, + `encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '秘钥', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of config_info +-- ---------------------------- +INSERT INTO `config_info` VALUES (1, 'application-dev.yml', 'DEFAULT_GROUP', 'spring:\n autoconfigure:\n exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n mvc:\n pathmatch:\n matching-strategy: ant_path_matcher\n\n# feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n min-request-size: 8192\n response:\n enabled: true\n\n# 暴露监控端点\nmanagement:\n endpoints:\n web:\n exposure:\n include: \'*\'\n', '58dde4e3760499d3bac2d77a3a1e9018', '2020-05-20 12:00:00', '2023-12-04 08:08:23', 'nacos', '0:0:0:0:0:0:0:1', '', '', '通用配置', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (2, 'ruoyi-gateway-dev.yml', 'DEFAULT_GROUP', 'spring:\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n # gxx服务\n - id: management-platform\n uri: lb://management-platform\n predicates:\n - Path=/mmp/**\n filters:\n - StripPrefix=1 \n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n', '7b19d8655c93e94f8730e9ab250e91fe', '2020-05-14 14:17:55', '2024-04-02 11:42:38', 'nacos', '172.20.32.185', '', '', '网关模块', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (3, 'ruoyi-auth-dev.yml', 'DEFAULT_GROUP', 'spring:\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n', '3f23ca0eb2c263b7cffdabd1d3663c7d', '2020-11-20 00:00:00', '2024-04-02 11:42:50', 'nacos', '172.20.32.185', '', '', '认证中心', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (4, 'ruoyi-monitor-dev.yml', 'DEFAULT_GROUP', '# spring\nspring:\n security:\n user:\n name: ruoyi\n password: 123456\n boot:\n admin:\n ui:\n title: 若依服务状态监控\n', '6f122fd2bfb8d45f858e7d6529a9cd44', '2020-11-20 00:00:00', '2022-09-29 02:48:54', 'nacos', '0:0:0:0:0:0:0:1', '', '', '监控中心', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (5, 'ruoyi-system-dev.yml', 'DEFAULT_GROUP', '# spring配置\nspring:\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql2.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.system\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip', 'cfc31f017166ea404d74d0b6310cf810', '2020-11-20 00:00:00', '2024-04-02 14:15:54', 'nacos', '172.20.32.185', '', '', '系统模块', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (6, 'ruoyi-gen-dev.yml', 'DEFAULT_GROUP', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password:\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql.argo.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.gen.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 代码生成接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# 代码生成\ngen:\n # 作者\n author: ruoyi\n # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\n packageName: com.ruoyi.system\n # 自动去除表前缀,默认是false\n autoRemovePre: false\n # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\n tablePrefix: sys_\n', '1a3384705287cb69fe684d1d74b32b6a', '2020-11-20 00:00:00', '2024-04-02 11:43:05', 'nacos', '172.20.32.185', '', '', '代码生成', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (7, 'ruoyi-job-dev.yml', 'DEFAULT_GROUP', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password: \n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql.ci4z-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.job.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 定时任务接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n', 'b6af6ea9a8679c282d479eaacd252e24', '2020-11-20 00:00:00', '2024-03-27 17:51:28', 'nacos', '172.20.32.181', '', '', '定时任务', 'null', 'null', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (8, 'ruoyi-file-dev.yml', 'DEFAULT_GROUP', '# 本地文件上传 \r\nfile:\r\n domain: http://127.0.0.1:9300\r\n path: D:/ruoyi/uploadPath\r\n prefix: /statics\r\n\r\n# FastDFS配置\r\nfdfs:\r\n domain: http://8.129.231.12\r\n soTimeout: 3000\r\n connectTimeout: 2000\r\n trackerList: 8.129.231.12:22122\r\n\r\n# Minio配置\r\nminio:\r\n url: http://8.129.231.12:9000\r\n accessKey: minioadmin\r\n secretKey: minioadmin\r\n bucketName: test', '5382b93f3d8059d6068c0501fdd41195', '2020-11-20 00:00:00', '2020-12-21 21:01:59', NULL, '0:0:0:0:0:0:0:1', '', '', '文件服务', 'null', 'null', 'yaml', NULL, ''); +INSERT INTO `config_info` VALUES (9, 'sentinel-ruoyi-gateway', 'DEFAULT_GROUP', '[\r\n {\r\n \"resource\": \"ruoyi-auth\",\r\n \"count\": 500,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-system\",\r\n \"count\": 1000,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-gen\",\r\n \"count\": 200,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-job\",\r\n \"count\": 300,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n }\r\n]', '9f3a3069261598f74220bc47958ec252', '2020-11-20 00:00:00', '2020-11-20 00:00:00', NULL, '0:0:0:0:0:0:0:1', '', '', '限流策略', 'null', 'null', 'json', NULL, ''); +INSERT INTO `config_info` VALUES (11, 'management-platform-dev.yml', 'DEFAULT_GROUP', 'spring:\n # 文件上传\n servlet:\n multipart:\n # 单个文件大小\n max-file-size: 20GB\n # 设置总上传的文件大小\n max-request-size: 20GB\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql2.argo.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: qazxc123456.\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\n# argo\nargo:\n url: http://pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n workflowRealTimeLog: /api/v1/workflow/getRealtimeWorkflowLog\n workflowCopy: /api/v1/workflow/copy\n workflowPodLog: /api/v1/workflow/getLogByPod \n ins:\n logsLines: 200\n# 流水线配置\npipeline:\n control_strategy: \'{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlRrRURCNEZ0TG1iQmd0UW05Mk9weGFHdERCQlBXUlBKRS14WTI2WmRLd28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlci10b2tlbi10dnRwbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjAzOTVlZGRmLWZjNGYtNDM0MS05ODdhLTlmNjgyOWEyMmQ0YyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTpuYW1lc3BhY2UtY29udHJvbGxlciJ9.nnoplRdA1OoPcqkt2fr1h4XYWAsaFw6XPkGm35CL3_pNIllttf99JyYAcNDhTB23eeu7qOz_afF760cMaVWA2itxYaRzbm-9qkySklOsdF3hHFRKoMB6G7o1liMpThXM4zi-9Ln1_BEtJgQzBVguVGEMWWBJNH9oBL5YVLGP7jUGjD8hEKsu4sBpymAwEeSAN4Dkj44M6Fk8WahsRMY7wd-HNqrK94xB8WIg9dK4SzPOv9VixdnpJ0jDXdRL4aRA5Mk0UKORtuAotNDT74AS1YDShGa0SEuY_SnzUcG7GLuRJOWb91YFTyWt3BDucWNuMECfV0ygPqRMJSqu3ODRjw\n # jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.185\n# tensorBoard配置\ntensorBoard:\n image: activeeon/tensorboard:latest\n port: 6006\n mountPath: /logs/\n masterIp: http://172.20.32.185\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n\nharbor:\n bucketName: tempimagefile\n repository: testlib\n harborUrl: 172.20.32.187\n harborUser: admin\n harborpassword: Harbor12345\n deploymentName: docker-push-deployment\n serviceNS: argo', 'bbc7773af0267fd5ef4a986def5c4931', '2024-01-03 16:34:18', '2024-04-02 14:16:08', 'nacos', '172.20.32.185', '', '', '', '', '', 'yaml', '', ''); +INSERT INTO `config_info` VALUES (12, 'pipeline-covert-config', 'ARGO', '#部署环境\ndeploy-env: test\nlog:\n # 日志级别\n level: info\n # 日志存放路径\n log-path: /var/log/pipeline-convert\n # 日志保留时间\n max-log-age: 7200h\n # 日志大小\n log-rotation-size: 104587600\n # 日子归档间隔\n log-archive-time: 24h\n\nloki:\n # loki host\n host: http://loki.loki-log:3100/loki\n query-range-uri: /api/v1/query_range\n # limit 每次读取日志的条数\n limit: 2000\n\ndb: \n # host 数据库连接host\n host: mysql.argo.svc.cluster.local\n # 数据库名字\n database: pipeline_convert\n # 端口\n port: 3306\n # 数据库用户名\n user: root\n # 数据库密码\n password: qazxc123456.\n\nworkflow:\n # pod延迟删除时间 一天\n pod-delete-delay-time: 24h\n workflow-retain-time: 24h\n\n\n\n', '8d5fcd64878095144f7153ba1f8ae309', '2024-03-22 11:00:41', '2024-03-27 16:47:18', 'nacos', '172.20.32.181', '', '', 'pipeline convert配置', '', '', 'yaml', '', ''); + +-- ---------------------------- +-- Table structure for config_info_aggr +-- ---------------------------- +DROP TABLE IF EXISTS `config_info_aggr`; +CREATE TABLE `config_info_aggr` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', + `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', + `datum_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'datum_id', + `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '内容', + `gmt_modified` datetime NOT NULL COMMENT '修改时间', + `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id`, `group_id`, `tenant_id`, `datum_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '增加租户字段' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of config_info_aggr +-- ---------------------------- + +-- ---------------------------- +-- Table structure for config_info_beta +-- ---------------------------- +DROP TABLE IF EXISTS `config_info_beta`; +CREATE TABLE `config_info_beta` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', + `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', + `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', + `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', + `beta_ips` varchar(1024) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'betaIps', + `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', + `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '秘钥', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_beta' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of config_info_beta +-- ---------------------------- + +-- ---------------------------- +-- Table structure for config_info_tag +-- ---------------------------- +DROP TABLE IF EXISTS `config_info_tag`; +CREATE TABLE `config_info_tag` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', + `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', + `tag_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_id', + `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', + `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', + `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', + `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id`, `group_id`, `tenant_id`, `tag_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_tag' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of config_info_tag +-- ---------------------------- + +-- ---------------------------- +-- Table structure for config_tags_relation +-- ---------------------------- +DROP TABLE IF EXISTS `config_tags_relation`; +CREATE TABLE `config_tags_relation` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `tag_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_name', + `tag_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tag_type', + `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', + `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', + `nid` bigint(20) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`nid`) USING BTREE, + UNIQUE INDEX `uk_configtagrelation_configidtag`(`id`, `tag_name`, `tag_type`) USING BTREE, + INDEX `idx_tenant_id`(`tenant_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_tag_relation' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of config_tags_relation +-- ---------------------------- + +-- ---------------------------- +-- Table structure for group_capacity +-- ---------------------------- +DROP TABLE IF EXISTS `group_capacity`; +CREATE TABLE `group_capacity` ( + `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', + `quota` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值', + `usage` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量', + `max_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数,,0表示使用默认值', + `max_aggr_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_group_id`(`group_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of group_capacity +-- ---------------------------- + +-- ---------------------------- +-- Table structure for his_config_info +-- ---------------------------- +DROP TABLE IF EXISTS `his_config_info`; +CREATE TABLE `his_config_info` ( + `id` bigint(20) UNSIGNED NOT NULL, + `nid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, + `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', + `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL, + `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `op_type` char(10) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '秘钥', + PRIMARY KEY (`nid`) USING BTREE, + INDEX `idx_gmt_create`(`gmt_create`) USING BTREE, + INDEX `idx_gmt_modified`(`gmt_modified`) USING BTREE, + INDEX `idx_did`(`data_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '多租户改造' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of his_config_info +-- ---------------------------- +INSERT INTO `his_config_info` VALUES (0, 1, 'pipeline-covert-config', 'ARGO', '', '#部署环境\r\ndeploy-env: test\r\nlog:\r\n # 日志级别\r\n level: info\r\n # 日志存放路径\r\n log-path: /var/log/pipeline-convert\r\n # 日志保留时间\r\n max-log-age: 7200h\r\n # 日志大小\r\n log-rotation-size: 104587600\r\n # 日子归档间隔\r\n log-archive-time: 24h', '11f0ca588c8fd47f7186cbbcd107540f', '2024-03-22 03:00:41', '2024-03-22 11:00:41', 'nacos', '172.20.32.181', 'I', '', ''); +INSERT INTO `his_config_info` VALUES (12, 2, 'pipeline-covert-config', 'ARGO', '', '#部署环境\r\ndeploy-env: test\r\nlog:\r\n # 日志级别\r\n level: info\r\n # 日志存放路径\r\n log-path: /var/log/pipeline-convert\r\n # 日志保留时间\r\n max-log-age: 7200h\r\n # 日志大小\r\n log-rotation-size: 104587600\r\n # 日子归档间隔\r\n log-archive-time: 24h', '11f0ca588c8fd47f7186cbbcd107540f', '2024-03-22 07:06:57', '2024-03-22 15:06:57', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (12, 3, 'pipeline-covert-config', 'ARGO', '', '#部署环境\ndeploy-env: test\nlog:\n # 日志级别\n level: info\n # 日志存放路径\n log-path: /var/log/pipeline-convert\n # 日志保留时间\n max-log-age: 4800h\n # 日志大小\n log-rotation-size: 104587600\n # 日子归档间隔\n log-archive-time: 24h', '6c458282622414ed7e4670d94aee8e81', '2024-03-27 08:09:25', '2024-03-27 16:09:26', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (12, 4, 'pipeline-covert-config', 'ARGO', '', '#部署环境\ndeploy-env: test\nlog:\n # 日志级别\n level: info\n # 日志存放路径\n log-path: /var/log/pipeline-convert\n # 日志保留时间\n max-log-age: 7200h\n # 日志大小\n log-rotation-size: 104587600\n # 日子归档间隔\n log-archive-time: 24h', '6161ef86c21f23158c47065a6be64ab0', '2024-03-27 08:47:18', '2024-03-27 16:47:18', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (11, 5, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 数据源\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: qazxc123456.\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '3d63e6de0eccc6109901e4ac2c68d80d', '2024-03-27 09:23:31', '2024-03-27 17:23:31', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (2, 6, 'ruoyi-gateway-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n # gxx服务\n - id: management-platform\n uri: lb://management-platform\n predicates:\n - Path=/mmp/**\n filters:\n - StripPrefix=1 \n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n', '59880f554f7c184a54b0cb9f51391605', '2024-03-27 09:24:05', '2024-03-27 17:24:06', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (3, 7, 'ruoyi-auth-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n', 'e4ea9948e873663be64e3349e5fde18d', '2024-03-27 09:24:16', '2024-03-27 17:24:16', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (5, 8, 'ruoyi-system-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.system\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip', 'b03c6adb54ca4c7c2c781301b509313f', '2024-03-27 09:24:30', '2024-03-27 17:24:30', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (11, 9, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 文件上传\n servlet:\n multipart:\n # 单个文件大小\n max-file-size: 20GB\n # 设置总上传的文件大小\n max-request-size: 20GB\n redis:\n host: redis-redis-ha.ci4s-test.svc\n port: 6379\n password:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\n# argo\nargo:\n url: pipeline-convert-service.ci4s-test.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n workflowRealTimeLog: /api/v1/workflow/getRealtimeWorkflowLog\n workflowCopy: /api/v1/workflow/copy\n workflowPodLog: /api/v1/workflow/getLogByPod \n\n# 流水线配置\npipeline:\n control_strategy: \'{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n# tensorBoard配置\ntensorBoard:\n image: activeeon/tensorboard:latest\n port: 6006\n mountPath: /logs/\n masterIp: http://172.20.32.181\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n\nharbor:\n bucketName: tempimagefile\n repository: testlib\n harborUrl: 172.20.32.187\n harborUser: admin\n harborpassword: Harbor12345\n deploymentName: docker-push-deployment\n serviceNS: argo', '02aec03de5e1e375d49a187744d2508d', '2024-03-27 09:49:11', '2024-03-27 17:49:12', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (7, 10, 'ruoyi-job-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password: \n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: password\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.job.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 定时任务接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n', 'edcf0e3fe13fea07b4ec08b1088f30b3', '2024-03-27 09:51:13', '2024-03-27 17:51:14', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (7, 11, 'ruoyi-job-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password: \n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql.ci4z-test.svc:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.job.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 定时任务接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n', '1fbce310453b2825df064f2d5303431c', '2024-03-27 09:51:27', '2024-03-27 17:51:28', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (6, 12, 'ruoyi-gen-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password:\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: password\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.gen.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 代码生成接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# 代码生成\ngen:\n # 作者\n author: ruoyi\n # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\n packageName: com.ruoyi.system\n # 自动去除表前缀,默认是false\n autoRemovePre: false\n # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\n tablePrefix: sys_\n', 'eb592420b3fceae1402881887b8a6a0d', '2024-03-27 09:52:02', '2024-03-27 17:52:03', 'nacos', '172.20.32.181', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (11, 13, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 文件上传\n servlet:\n multipart:\n # 单个文件大小\n max-file-size: 20GB\n # 设置总上传的文件大小\n max-request-size: 20GB\n redis:\n host: redis-redis-ha.ci4s-test.svc\n port: 6379\n password:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: qazxc123456.\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\n# argo\nargo:\n url: pipeline-convert-service.ci4s-test.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n workflowRealTimeLog: /api/v1/workflow/getRealtimeWorkflowLog\n workflowCopy: /api/v1/workflow/copy\n workflowPodLog: /api/v1/workflow/getLogByPod \n\n# 流水线配置\npipeline:\n control_strategy: \'{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n# tensorBoard配置\ntensorBoard:\n image: activeeon/tensorboard:latest\n port: 6006\n mountPath: /logs/\n masterIp: http://172.20.32.181\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n\nharbor:\n bucketName: tempimagefile\n repository: testlib\n harborUrl: 172.20.32.187\n harborUser: admin\n harborpassword: Harbor12345\n deploymentName: docker-push-deployment\n serviceNS: argo', 'da833e9cbc11db91a9a3b14dadedc348', '2024-04-02 03:42:16', '2024-04-02 11:42:16', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (2, 14, 'ruoyi-gateway-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n redis:\n host: redis-redis-ha.ci4s-test.svc\n port: 6379\n password:\n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n # gxx服务\n - id: management-platform\n uri: lb://management-platform\n predicates:\n - Path=/mmp/**\n filters:\n - StripPrefix=1 \n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n', 'b3f2a075435f760a32e8c3475f929376', '2024-04-02 03:42:37', '2024-04-02 11:42:38', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (3, 15, 'ruoyi-auth-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n redis:\n host: redis-redis-ha.ci4s-test.svc\n port: 6379\n password:\n', 'ec9da217447aa7dda2592712f04377e4', '2024-04-02 03:42:49', '2024-04-02 11:42:50', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (6, 16, 'ruoyi-gen-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password:\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.gen.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 代码生成接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# 代码生成\ngen:\n # 作者\n author: ruoyi\n # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\n packageName: com.ruoyi.system\n # 自动去除表前缀,默认是false\n autoRemovePre: false\n # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\n tablePrefix: sys_\n', '67fafc1694708436a7daa69b359cd7ce', '2024-04-02 03:43:04', '2024-04-02 11:43:05', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (11, 17, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 文件上传\n servlet:\n multipart:\n # 单个文件大小\n max-file-size: 20GB\n # 设置总上传的文件大小\n max-request-size: 20GB\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql.argo.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: qazxc123456.\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\n# argo\nargo:\n url: http://pipeline-convert-service.ci4s-test.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n workflowRealTimeLog: /api/v1/workflow/getRealtimeWorkflowLog\n workflowCopy: /api/v1/workflow/copy\n workflowPodLog: /api/v1/workflow/getLogByPod \n\n# 流水线配置\npipeline:\n control_strategy: \'{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlRrRURCNEZ0TG1iQmd0UW05Mk9weGFHdERCQlBXUlBKRS14WTI2WmRLd28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlci10b2tlbi10dnRwbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjAzOTVlZGRmLWZjNGYtNDM0MS05ODdhLTlmNjgyOWEyMmQ0YyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTpuYW1lc3BhY2UtY29udHJvbGxlciJ9.nnoplRdA1OoPcqkt2fr1h4XYWAsaFw6XPkGm35CL3_pNIllttf99JyYAcNDhTB23eeu7qOz_afF760cMaVWA2itxYaRzbm-9qkySklOsdF3hHFRKoMB6G7o1liMpThXM4zi-9Ln1_BEtJgQzBVguVGEMWWBJNH9oBL5YVLGP7jUGjD8hEKsu4sBpymAwEeSAN4Dkj44M6Fk8WahsRMY7wd-HNqrK94xB8WIg9dK4SzPOv9VixdnpJ0jDXdRL4aRA5Mk0UKORtuAotNDT74AS1YDShGa0SEuY_SnzUcG7GLuRJOWb91YFTyWt3BDucWNuMECfV0ygPqRMJSqu3ODRjw\n # jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.185\n# tensorBoard配置\ntensorBoard:\n image: activeeon/tensorboard:latest\n port: 6006\n mountPath: /logs/\n masterIp: http://172.20.32.185\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n\nharbor:\n bucketName: tempimagefile\n repository: testlib\n harborUrl: 172.20.32.187\n harborUser: admin\n harborpassword: Harbor12345\n deploymentName: docker-push-deployment\n serviceNS: argo', 'f429de86888a8189421b79a87f403d0e', '2024-04-02 03:43:55', '2024-04-02 11:43:55', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (11, 18, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 文件上传\n servlet:\n multipart:\n # 单个文件大小\n max-file-size: 20GB\n # 设置总上传的文件大小\n max-request-size: 20GB\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql.argo.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: qazxc123456.\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\n# argo\nargo:\n url: http://pipeline-convert-service.ci4s-test.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n workflowRealTimeLog: /api/v1/workflow/getRealtimeWorkflowLog\n workflowCopy: /api/v1/workflow/copy\n workflowPodLog: /api/v1/workflow/getLogByPod \n ins:\n logsLines: 200\n# 流水线配置\npipeline:\n control_strategy: \'{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlRrRURCNEZ0TG1iQmd0UW05Mk9weGFHdERCQlBXUlBKRS14WTI2WmRLd28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlci10b2tlbi10dnRwbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjAzOTVlZGRmLWZjNGYtNDM0MS05ODdhLTlmNjgyOWEyMmQ0YyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTpuYW1lc3BhY2UtY29udHJvbGxlciJ9.nnoplRdA1OoPcqkt2fr1h4XYWAsaFw6XPkGm35CL3_pNIllttf99JyYAcNDhTB23eeu7qOz_afF760cMaVWA2itxYaRzbm-9qkySklOsdF3hHFRKoMB6G7o1liMpThXM4zi-9Ln1_BEtJgQzBVguVGEMWWBJNH9oBL5YVLGP7jUGjD8hEKsu4sBpymAwEeSAN4Dkj44M6Fk8WahsRMY7wd-HNqrK94xB8WIg9dK4SzPOv9VixdnpJ0jDXdRL4aRA5Mk0UKORtuAotNDT74AS1YDShGa0SEuY_SnzUcG7GLuRJOWb91YFTyWt3BDucWNuMECfV0ygPqRMJSqu3ODRjw\n # jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.185\n# tensorBoard配置\ntensorBoard:\n image: activeeon/tensorboard:latest\n port: 6006\n mountPath: /logs/\n masterIp: http://172.20.32.185\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n\nharbor:\n bucketName: tempimagefile\n repository: testlib\n harborUrl: 172.20.32.187\n harborUser: admin\n harborpassword: Harbor12345\n deploymentName: docker-push-deployment\n serviceNS: argo', '45649c8d0269e24b2a7fe377cae21434', '2024-04-02 03:45:14', '2024-04-02 11:45:15', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (5, 19, 'ruoyi-system-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: redis-redis-ha.ci4s-test.svc\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://mysql.ci4s-test.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: qazxc123456.\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.system\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip', '920f6fe2d7721e537716c9949d14a0f4', '2024-04-02 06:15:53', '2024-04-02 14:15:54', 'nacos', '172.20.32.185', 'U', '', ''); +INSERT INTO `his_config_info` VALUES (11, 20, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 文件上传\n servlet:\n multipart:\n # 单个文件大小\n max-file-size: 20GB\n # 设置总上传的文件大小\n max-request-size: 20GB\n redis:\n host: redis-redis-ha.argo.svc\n port: 6379\n password:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://mysql.argo.svc:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: qazxc123456.\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\n# argo\nargo:\n url: http://pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n workflowRealTimeLog: /api/v1/workflow/getRealtimeWorkflowLog\n workflowCopy: /api/v1/workflow/copy\n workflowPodLog: /api/v1/workflow/getLogByPod \n ins:\n logsLines: 200\n# 流水线配置\npipeline:\n control_strategy: \'{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlRrRURCNEZ0TG1iQmd0UW05Mk9weGFHdERCQlBXUlBKRS14WTI2WmRLd28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlci10b2tlbi10dnRwbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjAzOTVlZGRmLWZjNGYtNDM0MS05ODdhLTlmNjgyOWEyMmQ0YyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTpuYW1lc3BhY2UtY29udHJvbGxlciJ9.nnoplRdA1OoPcqkt2fr1h4XYWAsaFw6XPkGm35CL3_pNIllttf99JyYAcNDhTB23eeu7qOz_afF760cMaVWA2itxYaRzbm-9qkySklOsdF3hHFRKoMB6G7o1liMpThXM4zi-9Ln1_BEtJgQzBVguVGEMWWBJNH9oBL5YVLGP7jUGjD8hEKsu4sBpymAwEeSAN4Dkj44M6Fk8WahsRMY7wd-HNqrK94xB8WIg9dK4SzPOv9VixdnpJ0jDXdRL4aRA5Mk0UKORtuAotNDT74AS1YDShGa0SEuY_SnzUcG7GLuRJOWb91YFTyWt3BDucWNuMECfV0ygPqRMJSqu3ODRjw\n # jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.185\n# tensorBoard配置\ntensorBoard:\n image: activeeon/tensorboard:latest\n port: 6006\n mountPath: /logs/\n masterIp: http://172.20.32.185\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n\nharbor:\n bucketName: tempimagefile\n repository: testlib\n harborUrl: 172.20.32.187\n harborUser: admin\n harborpassword: Harbor12345\n deploymentName: docker-push-deployment\n serviceNS: argo', 'bedb27aaffd384e7c890a82da7d4700e', '2024-04-02 06:16:07', '2024-04-02 14:16:08', 'nacos', '172.20.32.185', 'U', '', ''); + +-- ---------------------------- +-- Table structure for permissions +-- ---------------------------- +DROP TABLE IF EXISTS `permissions`; +CREATE TABLE `permissions` ( + `role` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `resource` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `action` varchar(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + UNIQUE INDEX `uk_role_permission`(`role`, `resource`, `action`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of permissions +-- ---------------------------- + +-- ---------------------------- +-- Table structure for roles +-- ---------------------------- +DROP TABLE IF EXISTS `roles`; +CREATE TABLE `roles` ( + `username` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `role` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + UNIQUE INDEX `idx_user_role`(`username`, `role`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of roles +-- ---------------------------- +INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN'); + +-- ---------------------------- +-- Table structure for tenant_capacity +-- ---------------------------- +DROP TABLE IF EXISTS `tenant_capacity`; +CREATE TABLE `tenant_capacity` ( + `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Tenant ID', + `quota` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值', + `usage` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量', + `max_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数', + `max_aggr_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_tenant_id`(`tenant_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '租户容量信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of tenant_capacity +-- ---------------------------- + +-- ---------------------------- +-- Table structure for tenant_info +-- ---------------------------- +DROP TABLE IF EXISTS `tenant_info`; +CREATE TABLE `tenant_info` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `kp` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'kp', + `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', + `tenant_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_name', + `tenant_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tenant_desc', + `create_source` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'create_source', + `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', + `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp`, `tenant_id`) USING BTREE, + INDEX `idx_tenant_id`(`tenant_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'tenant_info' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of tenant_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for users +-- ---------------------------- +DROP TABLE IF EXISTS `users`; +CREATE TABLE `users` ( + `username` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `password` varchar(500) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `enabled` tinyint(1) NOT NULL, + PRIMARY KEY (`username`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of users +-- ---------------------------- +INSERT INTO `users` VALUES ('nacos', '$2a$10$3IlH08injUAkk5yuIFV39.MCkOXLFOeAXsAeStT65xMZqZ9ZkyvXm', 1); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/nacos-ci4s-config_2-240104.sql b/sql/nacos-ci4s-config_2-240104.sql deleted file mode 100644 index 22a2fd22..00000000 --- a/sql/nacos-ci4s-config_2-240104.sql +++ /dev/null @@ -1,320 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : localhost - Source Server Type : MySQL - Source Server Version : 50721 - Source Host : 172.20.32.150:3306 - Source Schema : nacos-ci4s-config - - Target Server Type : MySQL - Target Server Version : 50721 - File Encoding : 65001 - - Date: 04/01/2024 16:25:54 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for config_info --- ---------------------------- -DROP TABLE IF EXISTS `config_info`; -CREATE TABLE `config_info` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', - `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', - `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', - `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', - `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', - `c_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `c_use` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `effect` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `c_schema` text CHARACTER SET utf8 COLLATE utf8_bin NULL, - `encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '秘钥', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 34 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of config_info --- ---------------------------- -INSERT INTO `config_info` VALUES (1, 'application-dev.yml', 'DEFAULT_GROUP', 'spring:\n autoconfigure:\n exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n mvc:\n pathmatch:\n matching-strategy: ant_path_matcher\n\n# feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n min-request-size: 8192\n response:\n enabled: true\n\n# 暴露监控端点\nmanagement:\n endpoints:\n web:\n exposure:\n include: \'*\'\n', '58dde4e3760499d3bac2d77a3a1e9018', '2020-05-20 12:00:00', '2023-12-04 08:08:23', 'nacos', '0:0:0:0:0:0:0:1', '', '', '通用配置', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (2, 'ruoyi-gateway-dev.yml', 'DEFAULT_GROUP', 'spring:\n redis:\n host: localhost\n port: 6379\n password:\n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n # gxx服务\n - id: management-platform\n uri: lb://management-platform\n predicates:\n - Path=/mmp/**\n filters:\n - StripPrefix=1 \n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n', '591098adabd795428ee55217eb07a05c', '2020-05-14 14:17:55', '2024-01-04 15:16:15', 'nacos', '172.20.32.150', '', '', '网关模块', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (3, 'ruoyi-auth-dev.yml', 'DEFAULT_GROUP', 'spring:\n redis:\n host: localhost\n port: 6379\n password:\n', '8bd9dada9a94822feeab40de55efced6', '2020-11-20 00:00:00', '2022-09-29 02:48:42', 'nacos', '0:0:0:0:0:0:0:1', '', '', '认证中心', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (4, 'ruoyi-monitor-dev.yml', 'DEFAULT_GROUP', '# spring\nspring:\n security:\n user:\n name: ruoyi\n password: 123456\n boot:\n admin:\n ui:\n title: 若依服务状态监控\n', '6f122fd2bfb8d45f858e7d6529a9cd44', '2020-11-20 00:00:00', '2022-09-29 02:48:54', 'nacos', '0:0:0:0:0:0:0:1', '', '', '监控中心', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (5, 'ruoyi-system-dev.yml', 'DEFAULT_GROUP', '# spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.system\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip', 'e085662b457e509eac4aced31baa600a', '2020-11-20 00:00:00', '2024-01-02 16:17:33', 'nacos', '172.20.32.150', '', '', '系统模块', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (6, 'ruoyi-gen-dev.yml', 'DEFAULT_GROUP', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password:\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: password\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.gen.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 代码生成接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# 代码生成\ngen:\n # 作者\n author: ruoyi\n # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\n packageName: com.ruoyi.system\n # 自动去除表前缀,默认是false\n autoRemovePre: false\n # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\n tablePrefix: sys_\n', 'eb592420b3fceae1402881887b8a6a0d', '2020-11-20 00:00:00', '2022-09-29 02:49:42', 'nacos', '0:0:0:0:0:0:0:1', '', '', '代码生成', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (7, 'ruoyi-job-dev.yml', 'DEFAULT_GROUP', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password: \n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: password\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.job.domain\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 定时任务接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n', 'edcf0e3fe13fea07b4ec08b1088f30b3', '2020-11-20 00:00:00', '2022-09-29 02:50:50', 'nacos', '0:0:0:0:0:0:0:1', '', '', '定时任务', 'null', 'null', 'yaml', '', ''); -INSERT INTO `config_info` VALUES (8, 'ruoyi-file-dev.yml', 'DEFAULT_GROUP', '# 本地文件上传 \r\nfile:\r\n domain: http://127.0.0.1:9300\r\n path: D:/ruoyi/uploadPath\r\n prefix: /statics\r\n\r\n# FastDFS配置\r\nfdfs:\r\n domain: http://8.129.231.12\r\n soTimeout: 3000\r\n connectTimeout: 2000\r\n trackerList: 8.129.231.12:22122\r\n\r\n# Minio配置\r\nminio:\r\n url: http://8.129.231.12:9000\r\n accessKey: minioadmin\r\n secretKey: minioadmin\r\n bucketName: test', '5382b93f3d8059d6068c0501fdd41195', '2020-11-20 00:00:00', '2020-12-21 21:01:59', NULL, '0:0:0:0:0:0:0:1', '', '', '文件服务', 'null', 'null', 'yaml', NULL, ''); -INSERT INTO `config_info` VALUES (9, 'sentinel-ruoyi-gateway', 'DEFAULT_GROUP', '[\r\n {\r\n \"resource\": \"ruoyi-auth\",\r\n \"count\": 500,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-system\",\r\n \"count\": 1000,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-gen\",\r\n \"count\": 200,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-job\",\r\n \"count\": 300,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n }\r\n]', '9f3a3069261598f74220bc47958ec252', '2020-11-20 00:00:00', '2020-11-20 00:00:00', NULL, '0:0:0:0:0:0:0:1', '', '', '限流策略', 'null', 'null', 'json', NULL, ''); -INSERT INTO `config_info` VALUES (11, 'management-platform-dev.yml', 'DEFAULT_GROUP', 'spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n', 'd6ad4d958f194135071640cba1478216', '2024-01-03 16:34:18', '2024-01-04 14:18:33', 'nacos', '172.20.32.150', '', '', '', '', '', 'yaml', '', ''); - --- ---------------------------- --- Table structure for config_info_aggr --- ---------------------------- -DROP TABLE IF EXISTS `config_info_aggr`; -CREATE TABLE `config_info_aggr` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', - `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', - `datum_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'datum_id', - `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '内容', - `gmt_modified` datetime NOT NULL COMMENT '修改时间', - `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id`, `group_id`, `tenant_id`, `datum_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of config_info_aggr --- ---------------------------- - --- ---------------------------- --- Table structure for config_info_beta --- ---------------------------- -DROP TABLE IF EXISTS `config_info_beta`; -CREATE TABLE `config_info_beta` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', - `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', - `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', - `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', - `beta_ips` varchar(1024) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'betaIps', - `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', - `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', - `encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '秘钥', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of config_info_beta --- ---------------------------- - --- ---------------------------- --- Table structure for config_info_tag --- ---------------------------- -DROP TABLE IF EXISTS `config_info_tag`; -CREATE TABLE `config_info_tag` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', - `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', - `tag_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_id', - `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', - `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', - `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', - `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id`, `group_id`, `tenant_id`, `tag_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of config_info_tag --- ---------------------------- - --- ---------------------------- --- Table structure for config_tags_relation --- ---------------------------- -DROP TABLE IF EXISTS `config_tags_relation`; -CREATE TABLE `config_tags_relation` ( - `id` bigint(20) NOT NULL COMMENT 'id', - `tag_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_name', - `tag_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tag_type', - `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', - `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', - `nid` bigint(20) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`nid`) USING BTREE, - UNIQUE INDEX `uk_configtagrelation_configidtag`(`id`, `tag_name`, `tag_type`) USING BTREE, - INDEX `idx_tenant_id`(`tenant_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of config_tags_relation --- ---------------------------- - --- ---------------------------- --- Table structure for group_capacity --- ---------------------------- -DROP TABLE IF EXISTS `group_capacity`; -CREATE TABLE `group_capacity` ( - `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', - `quota` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值', - `usage` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量', - `max_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', - `max_aggr_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数,,0表示使用默认值', - `max_aggr_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', - `max_history_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_group_id`(`group_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of group_capacity --- ---------------------------- - --- ---------------------------- --- Table structure for his_config_info --- ---------------------------- -DROP TABLE IF EXISTS `his_config_info`; -CREATE TABLE `his_config_info` ( - `id` bigint(64) UNSIGNED NOT NULL, - `nid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, - `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, - `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, - `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', - `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, - `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL, - `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `op_type` char(10) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', - `encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '秘钥', - PRIMARY KEY (`nid`) USING BTREE, - INDEX `idx_gmt_create`(`gmt_create`) USING BTREE, - INDEX `idx_gmt_modified`(`gmt_modified`) USING BTREE, - INDEX `idx_did`(`data_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of his_config_info --- ---------------------------- -INSERT INTO `his_config_info` VALUES (5, 1, 'ruoyi-system-dev.yml', 'DEFAULT_GROUP', '', '# spring配置\nspring:\n redis:\n host: localhost\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: password\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.system\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip', '00678c89684ec0b825cb9b71e032db64', '2024-01-02 16:17:33', '2024-01-02 16:17:33', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (0, 2, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \r\n # spring配置\r\nspring:\r\n redis:\r\n host: 172.20.32.150\r\n port: 6379\r\n password:\r\n datasource:\r\n druid:\r\n stat-view-servlet:\r\n enabled: true\r\n loginUsername: admin\r\n loginPassword: 123456\r\n dynamic:\r\n druid:\r\n initial-size: 5\r\n min-idle: 5\r\n maxActive: 20\r\n maxWait: 60000\r\n timeBetweenEvictionRunsMillis: 60000\r\n minEvictableIdleTimeMillis: 300000\r\n validationQuery: SELECT 1 FROM DUAL\r\n testWhileIdle: true\r\n testOnBorrow: false\r\n testOnReturn: false\r\n poolPreparedStatements: true\r\n maxPoolPreparedStatementPerConnectionSize: 20\r\n filters: stat,slf4j\r\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\r\n datasource:\r\n # 主库数据源\r\n master:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: 123456\r\n # 从库数据源\r\n # slave:\r\n # username: root\r\n # password: Trust_#%01\r\n # url: jdbc:mysql://173.15.15.83:3306/testjunkenewweb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n # driver-class-name: com.mysql.cj.jdbc.Driver\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.pms\r\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n configuration:\r\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\r\n\r\n# swagger配置\r\nswagger:\r\n title: 项目管理模块接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n\r\n# argo\r\nargo:\r\n url: pipeline-convert-service.argo.svc:80\r\n convert: /api/v1/workflow/convert\r\n workflowRun: /api/v1/workflow/run\r\n workflowStatus: /api/v1/workflow/getWorkflow n\r\n workflowTermination: /api/v1/workflow/terminate\r\n workflowLog: /api/v1/workflow/getWorkflowLog\r\n\r\n\r\n# 流水线配置\r\npipeline:\r\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\r\n\r\nk8s:\r\n storageClassName: storage-nfs\r\n http: apiserver.cluster.local:6443\r\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\r\n# jupyter配置\r\njupyter:\r\n image: jupyterlab:v1\r\n port: 8888\r\n namespace: default\r\n mountPath: /opt/notebooks/\r\n storage: 2Gi\r\n masterIp: http://172.20.32.181\r\n\r\nminio:\r\n endpoint: minio.argo.svc:9000\r\n accessKey: admin\r\n secretKey: qazxc123456.', '298e2940fed455199a54e56f92308580', '2024-01-03 16:34:18', '2024-01-03 16:34:18', NULL, '172.20.32.150', 'I', '', ''); -INSERT INTO `his_config_info` VALUES (11, 3, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \r\n # spring配置\r\nspring:\r\n redis:\r\n host: 172.20.32.150\r\n port: 6379\r\n password:\r\n datasource:\r\n druid:\r\n stat-view-servlet:\r\n enabled: true\r\n loginUsername: admin\r\n loginPassword: 123456\r\n dynamic:\r\n druid:\r\n initial-size: 5\r\n min-idle: 5\r\n maxActive: 20\r\n maxWait: 60000\r\n timeBetweenEvictionRunsMillis: 60000\r\n minEvictableIdleTimeMillis: 300000\r\n validationQuery: SELECT 1 FROM DUAL\r\n testWhileIdle: true\r\n testOnBorrow: false\r\n testOnReturn: false\r\n poolPreparedStatements: true\r\n maxPoolPreparedStatementPerConnectionSize: 20\r\n filters: stat,slf4j\r\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\r\n datasource:\r\n # 主库数据源\r\n master:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: 123456\r\n # 从库数据源\r\n # slave:\r\n # username: root\r\n # password: Trust_#%01\r\n # url: jdbc:mysql://173.15.15.83:3306/testjunkenewweb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n # driver-class-name: com.mysql.cj.jdbc.Driver\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.pms\r\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n configuration:\r\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\r\n\r\n# swagger配置\r\nswagger:\r\n title: 项目管理模块接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n\r\n# argo\r\nargo:\r\n url: pipeline-convert-service.argo.svc:80\r\n convert: /api/v1/workflow/convert\r\n workflowRun: /api/v1/workflow/run\r\n workflowStatus: /api/v1/workflow/getWorkflow n\r\n workflowTermination: /api/v1/workflow/terminate\r\n workflowLog: /api/v1/workflow/getWorkflowLog\r\n\r\n\r\n# 流水线配置\r\npipeline:\r\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\r\n\r\nk8s:\r\n storageClassName: storage-nfs\r\n http: apiserver.cluster.local:6443\r\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\r\n# jupyter配置\r\njupyter:\r\n image: jupyterlab:v1\r\n port: 8888\r\n namespace: default\r\n mountPath: /opt/notebooks/\r\n storage: 2Gi\r\n masterIp: http://172.20.32.181\r\n\r\nminio:\r\n endpoint: minio.argo.svc:9000\r\n accessKey: admin\r\n secretKey: qazxc123456.', '298e2940fed455199a54e56f92308580', '2024-01-04 09:26:10', '2024-01-04 09:26:10', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 4, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \n # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n \n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n druid:\n # 主库数据源\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n slave:\n # 从数据源开关/默认关闭\n enabled: false\n url: \n username: \n password: \n # 初始连接数\n initialSize: 5\n # 最小连接池数量\n minIdle: 10\n # 最大连接池数量\n maxActive: 20\n # 配置获取连接等待超时的时间\n maxWait: 60000\n # 配置连接超时时间\n connectTimeout: 30000\n # 配置网络超时时间\n socketTimeout: 60000\n # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒\n timeBetweenEvictionRunsMillis: 60000\n # 配置一个连接在池中最小生存的时间,单位是毫秒\n minEvictableIdleTimeMillis: 300000\n # 配置一个连接在池中最大生存的时间,单位是毫秒\n maxEvictableIdleTimeMillis: 900000\n # 配置检测连接是否有效\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n webStatFilter: \n enabled: true\n statViewServlet:\n enabled: true\n # 设置白名单,不填则允许所有访问\n allow:\n url-pattern: /druid/*\n # 控制台管理用户名和密码\n login-username: ruoyi\n login-password: 123456\n filter:\n stat:\n enabled: true\n # 慢SQL记录\n log-slow-sql: true\n slow-sql-millis: 1000\n merge-sql: true\n wall:\n config:\n multi-statement-allow: true\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.pms\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n configuration:\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\n\n# swagger配置\nswagger:\n title: 项目管理模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', 'f2708f00bb12925d37d6a4ad06f360f9', '2024-01-04 09:40:36', '2024-01-04 09:40:36', NULL, '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 5, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \r\n # spring配置\r\nspring:\r\n redis:\r\n host: 172.20.32.150\r\n port: 6379\r\n password:\r\n datasource:\r\n druid:\r\n stat-view-servlet:\r\n enabled: true\r\n loginUsername: admin\r\n loginPassword: 123456\r\n dynamic:\r\n druid:\r\n initial-size: 5\r\n min-idle: 5\r\n maxActive: 20\r\n maxWait: 60000\r\n timeBetweenEvictionRunsMillis: 60000\r\n minEvictableIdleTimeMillis: 300000\r\n validationQuery: SELECT 1 FROM DUAL\r\n testWhileIdle: true\r\n testOnBorrow: false\r\n testOnReturn: false\r\n poolPreparedStatements: true\r\n maxPoolPreparedStatementPerConnectionSize: 20\r\n filters: stat,slf4j\r\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\r\n datasource:\r\n # 主库数据源\r\n master:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: 123456\r\n # 从库数据源\r\n # slave:\r\n # username: root\r\n # password: Trust_#%01\r\n # url: jdbc:mysql://173.15.15.83:3306/testjunkenewweb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n # driver-class-name: com.mysql.cj.jdbc.Driver\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.pms\r\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n configuration:\r\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\r\n\r\n# swagger配置\r\nswagger:\r\n title: 项目管理模块接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n\r\n# argo\r\nargo:\r\n url: pipeline-convert-service.argo.svc:80\r\n convert: /api/v1/workflow/convert\r\n workflowRun: /api/v1/workflow/run\r\n workflowStatus: /api/v1/workflow/getWorkflow n\r\n workflowTermination: /api/v1/workflow/terminate\r\n workflowLog: /api/v1/workflow/getWorkflowLog\r\n\r\n\r\n# 流水线配置\r\npipeline:\r\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\r\n\r\nk8s:\r\n storageClassName: storage-nfs\r\n http: apiserver.cluster.local:6443\r\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\r\n# jupyter配置\r\njupyter:\r\n image: jupyterlab:v1\r\n port: 8888\r\n namespace: default\r\n mountPath: /opt/notebooks/\r\n storage: 2Gi\r\n masterIp: http://172.20.32.181\r\n\r\nminio:\r\n endpoint: minio.argo.svc:9000\r\n accessKey: admin\r\n secretKey: qazxc123456.', '298e2940fed455199a54e56f92308580', '2024-01-04 09:41:16', '2024-01-04 09:41:16', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 6, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \n # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n # slave:\n # username: root\n # password: Trust_#%01\n # url: jdbc:mysql://173.15.15.83:3306/testjunkenewweb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n # driver-class-name: com.mysql.cj.jdbc.Driver\n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.pms\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n configuration:\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\n\n# swagger配置\nswagger:\n title: 项目管理模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '2c0efa56ca82e967fc532e934e13f180', '2024-01-04 09:42:07', '2024-01-04 09:42:07', NULL, '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 7, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \n # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n \n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n druid:\n # 主库数据源\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n slave:\n # 从数据源开关/默认关闭\n enabled: false\n url: \n username: \n password: \n # 初始连接数\n initialSize: 5\n # 最小连接池数量\n minIdle: 10\n # 最大连接池数量\n maxActive: 20\n # 配置获取连接等待超时的时间\n maxWait: 60000\n # 配置连接超时时间\n connectTimeout: 30000\n # 配置网络超时时间\n socketTimeout: 60000\n # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒\n timeBetweenEvictionRunsMillis: 60000\n # 配置一个连接在池中最小生存的时间,单位是毫秒\n minEvictableIdleTimeMillis: 300000\n # 配置一个连接在池中最大生存的时间,单位是毫秒\n maxEvictableIdleTimeMillis: 900000\n # 配置检测连接是否有效\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n webStatFilter: \n enabled: true\n statViewServlet:\n enabled: true\n # 设置白名单,不填则允许所有访问\n allow:\n url-pattern: /druid/*\n # 控制台管理用户名和密码\n login-username: ruoyi\n login-password: 123456\n filter:\n stat:\n enabled: true\n # 慢SQL记录\n log-slow-sql: true\n slow-sql-millis: 1000\n merge-sql: true\n wall:\n config:\n multi-statement-allow: true\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.pms\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n configuration:\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\n\n# swagger配置\nswagger:\n title: 项目管理模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', 'f2708f00bb12925d37d6a4ad06f360f9', '2024-01-04 09:45:17', '2024-01-04 09:45:17', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 8, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' \n # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n \n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n druid:\n # 主库数据源\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n slave:\n # 从数据源开关/默认关闭\n enabled: false\n url: \n username: \n password: \n # 初始连接数\n initialSize: 5\n # 最小连接池数量\n minIdle: 10\n # 最大连接池数量\n maxActive: 20\n # 配置获取连接等待超时的时间\n maxWait: 60000\n # 配置连接超时时间\n connectTimeout: 30000\n # 配置网络超时时间\n socketTimeout: 60000\n # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒\n timeBetweenEvictionRunsMillis: 60000\n # 配置一个连接在池中最小生存的时间,单位是毫秒\n minEvictableIdleTimeMillis: 300000\n # 配置一个连接在池中最大生存的时间,单位是毫秒\n maxEvictableIdleTimeMillis: 900000\n # 配置检测连接是否有效\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n webStatFilter: \n enabled: true\n statViewServlet:\n enabled: true\n # 设置白名单,不填则允许所有访问\n allow:\n url-pattern: /druid/*\n # 控制台管理用户名和密码\n login-username: ruoyi\n login-password: 123456\n filter:\n stat:\n enabled: true\n # 慢SQL记录\n log-slow-sql: true\n slow-sql-millis: 1000\n merge-sql: true\n wall:\n config:\n multi-statement-allow: true\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.pms\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n configuration:\n log-impl: org.apache.ibatis.logging.stdout.StdOutImpl\n\n# swagger配置\nswagger:\n title: 项目管理模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', 'f2708f00bb12925d37d6a4ad06f360f9', '2024-01-04 10:19:51', '2024-01-04 10:19:51', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 9, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '93cc7f4352ad6aa9078f2268921105a5', '2024-01-04 10:30:29', '2024-01-04 10:30:29', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 10, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.jdbc.Driver\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '28c94736019221e4f39a8c433d76cc90', '2024-01-04 10:31:35', '2024-01-04 10:31:35', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 11, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '93cc7f4352ad6aa9078f2268921105a5', '2024-01-04 10:35:13', '2024-01-04 10:35:14', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 12, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' # 数据源配置\nspring:\n datasource:\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n druid:\n # 主库数据源\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n slave:\n # 从数据源开关/默认关闭\n enabled: false\n url: \n username: \n password: \n # 初始连接数\n initialSize: 5\n # 最小连接池数量\n minIdle: 10\n # 最大连接池数量\n maxActive: 20\n # 配置获取连接等待超时的时间\n maxWait: 60000\n # 配置连接超时时间\n connectTimeout: 30000\n # 配置网络超时时间\n socketTimeout: 60000\n # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒\n timeBetweenEvictionRunsMillis: 60000\n # 配置一个连接在池中最小生存的时间,单位是毫秒\n minEvictableIdleTimeMillis: 300000\n # 配置一个连接在池中最大生存的时间,单位是毫秒\n maxEvictableIdleTimeMillis: 900000\n # 配置检测连接是否有效\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n webStatFilter: \n enabled: true\n statViewServlet:\n enabled: true\n # 设置白名单,不填则允许所有访问\n allow:\n url-pattern: /druid/*\n # 控制台管理用户名和密码\n login-username: ruoyi\n login-password: 123456\n filter:\n stat:\n enabled: true\n # 慢SQL记录\n log-slow-sql: true\n slow-sql-millis: 1000\n merge-sql: true\n wall:\n config:\n multi-statement-allow: true\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '734cfe074dd269b987d0b96a55beeb0e', '2024-01-04 10:52:02', '2024-01-04 10:52:03', NULL, '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 13, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' # spring配置\nspring:\n redis:\n host: 172.20.32.150\n port: 6379\n password:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n connectTimeout: 30000\n socketTimeout: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n # 主库数据源\n master:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n username: root\n password: 123456\n # 从库数据源\n # slave:\n # username: \n # password: \n # url: \n # driver-class-name: \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '93cc7f4352ad6aa9078f2268921105a5', '2024-01-04 10:59:15', '2024-01-04 10:59:15', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 14, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow n\n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', 'f1d959c6087506249a3e234d57a55ce5', '2024-01-04 11:01:18', '2024-01-04 11:01:18', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 15, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '6c8eeab8975d8063d2aeb004cef6b74d', '2024-01-04 11:03:47', '2024-01-04 11:03:47', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 16, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: nms\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '9b0447e9cf407f3677f6de5da9d3f315', '2024-01-04 11:04:21', '2024-01-04 11:04:22', NULL, '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 17, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', ' spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n \n\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.', '6c8eeab8975d8063d2aeb004cef6b74d', '2024-01-04 11:17:46', '2024-01-04 11:17:46', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 18, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', '\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n \nspring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver', '9b9a74b1d494fc235ae5f6964b9b0079', '2024-01-04 11:23:26', '2024-01-04 11:23:27', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 19, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver', '541115dc21d4098b785343d5e7ea7ab2', '2024-01-04 11:24:27', '2024-01-04 11:24:28', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 20, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', '# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\nspring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: false\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n config:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver', 'b29634dfb89190c9647a597b0b5e73bc', '2024-01-04 11:38:52', '2024-01-04 11:38:53', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 21, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', '# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\nspring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver', 'dc763d5da4a27a4b1f20caf32ef7c591', '2024-01-04 13:45:44', '2024-01-04 13:45:44', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 22, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n', 'd6ad4d958f194135071640cba1478216', '2024-01-04 14:16:13', '2024-01-04 14:16:13', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (11, 23, 'management-platform-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n main:\n allow-circular-references: true #允\n # 数据源\n datasource:\n # Druid StatViewServlet配置\n druid:\n stat-view-servlet:\n # 默认true 内置监控页面首页/druid/index.html\n enabled: true\n initial-size: 20\n max-active: 60\n min-idle: 20\n max-wait: 30000\n dynamic:\n primary: master\n datasource:\n master:\n url: jdbc:mysql://172.20.32.150:3306/ry-ci4s?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true\n username: root\n password: 123456\n type: com.alibaba.druid.pool.DruidDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n# mybatis配置\nmybatis:\n # 搜索指定包别名\n typeAliasesPackage: com.ruoyi.management-platform\n # 配置mapper的扫描,找到所有的mapper.xml映射文件\n mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n title: 系统模块接口文档\n license: Powered By ruoyi\n licenseUrl: https://ruoyi.vip\n# argo\nargo:\n url: pipeline-convert-service.argo.svc:80\n convert: /api/v1/workflow/convert\n workflowRun: /api/v1/workflow/run\n workflowStatus: /api/v1/workflow/getWorkflow \n workflowTermination: /api/v1/workflow/terminate\n workflowLog: /api/v1/workflow/getWorkflowLog\n\n\n# 流水线配置\npipeline:\n control_strategy: \'[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]\'\n\nk8s:\n storageClassName: storage-nfs\n http: apiserver.cluster.local:6443\n token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A\n# jupyter配置\njupyter:\n image: jupyterlab:v1\n port: 8888\n namespace: default\n mountPath: /opt/notebooks/\n storage: 2Gi\n masterIp: http://172.20.32.181\n\nminio:\n endpoint: minio.argo.svc:9000\n accessKey: admin\n secretKey: qazxc123456.\n', '0103470e46879d72ca41cebfc8f068af', '2024-01-04 14:18:33', '2024-01-04 14:18:33', 'nacos', '172.20.32.150', 'U', '', ''); -INSERT INTO `his_config_info` VALUES (2, 24, 'ruoyi-gateway-dev.yml', 'DEFAULT_GROUP', '', 'spring:\n redis:\n host: localhost\n port: 6379\n password:\n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n', '57cec5abd0e0a6b77d853750344a9dc0', '2024-01-04 15:16:15', '2024-01-04 15:16:15', 'nacos', '172.20.32.150', 'U', '', ''); - --- ---------------------------- --- Table structure for permissions --- ---------------------------- -DROP TABLE IF EXISTS `permissions`; -CREATE TABLE `permissions` ( - `role` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - `resource` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - `action` varchar(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - UNIQUE INDEX `uk_role_permission`(`role`, `resource`, `action`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of permissions --- ---------------------------- - --- ---------------------------- --- Table structure for roles --- ---------------------------- -DROP TABLE IF EXISTS `roles`; -CREATE TABLE `roles` ( - `username` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - `role` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - UNIQUE INDEX `idx_user_role`(`username`, `role`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of roles --- ---------------------------- -INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN'); - --- ---------------------------- --- Table structure for tenant_capacity --- ---------------------------- -DROP TABLE IF EXISTS `tenant_capacity`; -CREATE TABLE `tenant_capacity` ( - `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Tenant ID', - `quota` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值', - `usage` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量', - `max_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', - `max_aggr_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数', - `max_aggr_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', - `max_history_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_tenant_id`(`tenant_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of tenant_capacity --- ---------------------------- - --- ---------------------------- --- Table structure for tenant_info --- ---------------------------- -DROP TABLE IF EXISTS `tenant_info`; -CREATE TABLE `tenant_info` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `kp` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'kp', - `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', - `tenant_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_name', - `tenant_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tenant_desc', - `create_source` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'create_source', - `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', - `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp`, `tenant_id`) USING BTREE, - INDEX `idx_tenant_id`(`tenant_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of tenant_info --- ---------------------------- - --- ---------------------------- --- Table structure for users --- ---------------------------- -DROP TABLE IF EXISTS `users`; -CREATE TABLE `users` ( - `username` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - `password` varchar(500) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, - `enabled` tinyint(1) NOT NULL, - PRIMARY KEY (`username`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of users --- ---------------------------- -INSERT INTO `users` VALUES ('nacos', '$2a$10$3IlH08injUAkk5yuIFV39.MCkOXLFOeAXsAeStT65xMZqZ9ZkyvXm', 1); - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/ry-ci4s-20240126.sql b/sql/ry-ci4s.sql similarity index 51% rename from sql/ry-ci4s-20240126.sql rename to sql/ry-ci4s.sql index 5b5621db..2fb8ae1d 100644 --- a/sql/ry-ci4s-20240126.sql +++ b/sql/ry-ci4s.sql @@ -1,29 +1,117 @@ /* Navicat Premium Data Transfer - Source Server : localhost + Source Server : test-ci4s185 Source Server Type : MySQL - Source Server Version : 50721 - Source Host : 172.20.32.150:3306 + Source Server Version : 50730 + Source Host : 172.20.32.185:31201 Source Schema : ry-ci4s Target Server Type : MySQL - Target Server Version : 50721 + Target Server Version : 50730 File Encoding : 65001 - Date: 26/01/2024 09:43:55 + Date: 02/04/2024 14:18:00 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for asset_icon +-- ---------------------------- +DROP TABLE IF EXISTS `asset_icon`; +CREATE TABLE `asset_icon` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '资产图标名称', + `category_id` int(11) NULL DEFAULT NULL COMMENT '分类id ,1数据集 2模型', + `path` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路径', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL, + `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `state` int(11) NULL DEFAULT NULL COMMENT '0失效,1生效', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 67 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of asset_icon +-- ---------------------------- +INSERT INTO `asset_icon` VALUES (1, '计算机视觉', 1, '101', '计算机视觉', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (2, '自然语言处理', 1, '102', '自然语言处理', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (3, '计算机视觉、自然语言处理', 1, '103', '计算机视觉、自然语言处理', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (4, '机器翻译', 1, '104', '机器翻译', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (5, '医学影像', 1, '105', '医学影像', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (6, '机器翻译', 2, '201', '机器翻译', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (7, '问答系统', 2, '202', '问答系统', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (8, '信息检索', 2, '203', '信息检索', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (9, '知识图谱', 2, '204', '知识图谱', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (10, '文本标注', 2, '205', '文本标注', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (11, '文本分类', 2, '206', '文本分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (12, '语言建模', 2, '207', '语言建模', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (13, '语音识别', 2, '208', '语音识别', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (14, '信息抽取', 2, '209', '信息抽取', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (15, '说明生成', 2, '210', '说明生成', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (16, '图像分类', 2, '211', '图像分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (17, '人脸识别', 2, '212', '人脸识别', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (18, '图像搜索', 2, '213', '图像搜索', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (19, '目标检测', 2, '214', '目标检测', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (20, '图像描述生成', 2, '215', '图像描述生成', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (21, '车辆车牌识别', 2, '216', '车辆车牌识别', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (22, '医学图像分析', 2, '217', '医学图像分析', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (23, '无人驾驶', 2, '218', '无人驾驶', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (24, '无人安防', 2, '219', '无人安防', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (25, '无人机', 2, '220', '无人机', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (26, 'VR/AR', 2, '221', 'VR/AR', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (27, '2-D视觉', 2, '222', '2-D视觉', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (28, '2.5-D视觉', 2, '223', '2.5-D视觉', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (29, '3D重构', 2, '224', '3D重构', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (30, '图像处理', 2, '225', '图像处理', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (31, '视频处理', 2, '226', '视频处理', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (32, '视觉输入系统', 2, '227', '视觉输入系统', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (33, '语音编码', 2, '228', '语音编码', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (34, '语言增强', 2, '229', '语言增强', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (35, '语音合成', 2, '230', '语音合成', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (36, '开源开放社区', 2, '231', '开源开放社区', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (37, 'PyTorch', 3, '301', 'PyTorch', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (38, 'MindSpore', 3, '302', 'MindSpore', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (39, 'TensorFlow', 3, '303', 'TensorFlow', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (40, 'PaddlePaddle', 3, '304', 'PaddlePaddle', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (41, 'MXNet', 3, '305', 'MXNet', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (42, 'OneFlow', 3, '306', 'oneFlow', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (43, 'Other', 3, '307', 'Other', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (44, '特征提取', 4, '401', '特征提取', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (45, '文本到图像', 4, '402', '文本到图像', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (46, '图像转文本', 4, '403', '图像转文本', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (47, '主文本转视频', 4, '404', '主文本转视频', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (48, '视觉问答', 4, '405', '视觉问答', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (49, '文档问答', 4, '406', '文档问答', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (50, '图形机器学习', 4, '407', '图形机器学习', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (51, '图像分类', 4, '408', '图像分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (52, '物体检测', 4, '409', '物体检测', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (53, '深度估计', 4, '410', '深度估计', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (54, '图像分割', 4, '411', '图像分割', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (55, '文本分类', 4, '412', '文本分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (56, '代币分类', 4, '413', '代币分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (57, '文本生成', 4, '414', '文本生成', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (58, '句子相似性', 4, '415', '句子相似性', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (59, '文本转语音', 4, '416', '文本转语音', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (60, '自动语音识别', 4, '417', '自动语音识别', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (61, '音频分类', 4, '418', '音频分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (62, '语音活动检测', 4, '419', '语音活动检测', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (63, '表格分类', 4, '420', '表格分类', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (64, '表格回归', 4, '421', '表格回归', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (65, '强化学习', 4, '422', '强化学习', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); +INSERT INTO `asset_icon` VALUES (66, '机器人', 4, '423', '机器人', 'admin', '2024-03-14 17:07:49', 'admin', '2024-03-14 17:07:56', 1); + -- ---------------------------- -- Table structure for component -- ---------------------------- DROP TABLE IF EXISTS `component`; CREATE TABLE `component` ( - `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键', - `category_id` int(4) NOT NULL COMMENT '类别ID,数据字典配置', + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `category_id` int(11) NOT NULL COMMENT '类别ID,数据字典配置', `component_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件name', `component_label` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件面板名', `images` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像', @@ -41,9 +129,9 @@ CREATE TABLE `component` ( `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', + `state` int(11) NULL DEFAULT 1 COMMENT '0,失效 1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of component @@ -55,8 +143,9 @@ INSERT INTO `component` VALUES (33, 2, 'model-train', '通用模型训练组件' INSERT INTO `component` VALUES (34, 1, 'git-clone', '代码拉取组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"\"}}', '{\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}}', '代码拉取组件', '', 'admin', '2024-01-18 08:45:10', 'admin', '2024-01-18 08:45:10', 0); INSERT INTO `component` VALUES (35, 2, '通用模型训练', '通用模型训练组件介绍', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{\"--dataset\":{\"type\":\"ref\",\"item_type\":\"dataset\",\"label\":\"选择数据集\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"\",\"describe\":\"选择数据集\",\"editable\":1,\"condition\":\"\"},\"--model_name\":{\"type\":\"ref\",\"item_type\":\"model\",\"label\":\"选择模型\",\"require\":0,\"choice\":[],\"range\":\"$min,$max\",\"default\":\"\",\"placeholder\":\"\",\"describe\":\"这里是这个参数的描述和备注\",\"editable\":1,\"condition\":\"\",\"form_info\":{\"name\":\"mnist\",\"path\":\"/mnt/e/xxxx\"}}}', '{\"--model_output\":{\"type\":\"str\",\"path\":\"/model\"}}', '通用模型训练组件介绍', NULL, 'admin', '2024-01-15 14:00:34', 'admin', '2024-01-15 14:00:29', 0); INSERT INTO `component` VALUES (36, 1, 'git-clone', '代码拉取组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"\"}}', '{\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}}', '代码拉取组件', NULL, 'admin', '2024-01-16 11:22:04', 'admin', '2024-01-16 11:22:04', 0); -INSERT INTO `component` VALUES (37, 1, 'git-clone', '代码拉取组件', '镜像', '工作目录', '启动命令', '{}', NULL, '{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}', '挂载目录', '{\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"\"}}', '{\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}}', '代码拉取组件', 'component-icon-1', 'admin', '2024-01-18 08:45:11', 'admin', '2024-01-18 08:45:11', 1); +INSERT INTO `component` VALUES (37, 1, 'git-clone', '代码拉取', '镜像', '工作目录', '启动命令', '{}', NULL, '{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}', '挂载目录', '{\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"1\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"\"}}', '{\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}}', '代码拉取组件', 'component-icon-1', 'admin', '2024-03-02 13:41:25', 'admin', '2024-03-02 13:41:25', 1); INSERT INTO `component` VALUES (38, 2, 'model-train', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}', '挂载目录', '{\"--dataset\":{\"type\":\"ref\",\"item_type\":\"dataset\",\"label\":\"选择数据集\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"\",\"describe\":\"选择数据集\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--model_name\":{\"type\":\"ref\",\"item_type\":\"model\",\"label\":\"选择模型\",\"require\":0,\"choice\":[],\"range\":\"$min,$max\",\"default\":\"\",\"placeholder\":\"\",\"describe\":\"这里是这个参数的描述和备注\",\"editable\":1,\"condition\":\"\",\"value\":\"\"}}', '{\"--model_output\":{\"type\":\"str\",\"label\":\"模型输出路径\",\"path\":\"/model\",\"require\":1}}', '通用模型训练组件介绍', 'component-icon-2', 'admin', '2024-01-18 08:45:14', 'admin', '2024-01-18 08:45:14', 1); +INSERT INTO `component` VALUES (39, 2, 'distributed-model-train', '分布式训练', '', '', '', '{}', NULL, '{\"max_run_time\":{\"type\":\"str\",\"label\":\"超时中断\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"重试次数\",\"value\":\"1\"}}', '', '{\"--dataset\":{\"type\":\"ref\",\"item_type\":\"dataset\",\"label\":\"选择数据集\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"\",\"describe\":\"选择数据集\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--model_name\":{\"type\":\"ref\",\"item_type\":\"model\",\"label\":\"选择模型\",\"require\":0,\"choice\":[],\"range\":\"$min,$max\",\"default\":\"\",\"placeholder\":\"\",\"describe\":\"这里是这个参数的描述和备注\",\"editable\":1,\"condition\":\"\",\"value\":\"\"},\"--worker_num\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"分布式训练work数量\",\"require\":1,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"分布式训练work数量\",\"editable\":1,\"condition\":\"\",\"value\":\"\"}}', '{\"--model_output\":{\"type\":\"str\",\"label\":\"模型输出路径\",\"path\":\"/model\",\"require\":1}}', '分布式模型训练组件,支持deepspeed, metatron, horovod', NULL, 'admin', '2024-03-07 15:47:37', 'admin', '2024-03-07 15:47:39', 1); -- ---------------------------- -- Table structure for computing_resource @@ -71,7 +160,7 @@ CREATE TABLE `computing_resource` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT NULL COMMENT '0,失效 1, 生效', + `state` int(11) NULL DEFAULT NULL COMMENT '0,失效 1, 生效', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; @@ -86,70 +175,46 @@ DROP TABLE IF EXISTS `dataset`; CREATE TABLE `dataset` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `data_type` int(11) NULL DEFAULT NULL, + `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, + `available_range` int(11) NULL DEFAULT NULL COMMENT '1公开,0私有', + `data_type` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集类别', + `data_tag` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集tag', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', + `state` int(11) NULL DEFAULT 1 COMMENT '0,失效 1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of dataset -- ---------------------------- -INSERT INTO `dataset` VALUES (1, 'MNIST', 'SDSDS', NULL, '', '2023-12-28 13:54:20', '', '2023-12-28 13:54:20', 0); -INSERT INTO `dataset` VALUES (2, '鸢尾花', 'sdasdsa', NULL, '', '2023-12-26 14:18:21', '', '2023-12-26 14:18:21', 0); -INSERT INTO `dataset` VALUES (4, 'start_workflow.json', NULL, NULL, '苏影城', '2023-12-26 16:01:45', '苏影城', '2023-12-26 16:01:45', 0); -INSERT INTO `dataset` VALUES (5, 'start_workflow.json', NULL, NULL, 'admin', '2023-12-27 09:16:59', 'admin', '2023-12-27 09:16:59', 0); -INSERT INTO `dataset` VALUES (6, 'workspace.postman_globals.json', NULL, NULL, '苏影城', '2023-12-27 11:30:16', '苏影城', '2023-12-27 11:30:16', 0); -INSERT INTO `dataset` VALUES (7, 'mnist', '计算机视觉手写体识别mnist数据集 二次修改', 1, 'admin', '2023-12-28 09:37:14', '苏影城', '2023-12-28 09:37:12', 0); -INSERT INTO `dataset` VALUES (8, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-27 15:21:02', 'admin', '2023-12-27 15:21:02', 0); -INSERT INTO `dataset` VALUES (9, 'mnist', '计算机视觉手写体识别mnist数据集XXXX', 2, 'admin', '2023-12-28 13:57:42', 'admin', '2023-12-28 14:03:22', 0); -INSERT INTO `dataset` VALUES (10, 'mnist', '计算机视觉手写体识别mnist数据集XXXX', 2, 'admin', '2023-12-28 14:34:30', 'admin', '2023-12-28 15:32:00', 0); -INSERT INTO `dataset` VALUES (11, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-28 14:34:04', 'admin', '2023-12-28 14:34:04', 0); -INSERT INTO `dataset` VALUES (12, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-28 16:03:51', 'admin', '2023-12-29 09:00:22', 0); -INSERT INTO `dataset` VALUES (13, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-28 16:05:41', 'admin', '2023-12-28 16:05:41', 1); -INSERT INTO `dataset` VALUES (14, 'mnist', '计算机视觉手写体识别mnist数据集2-24', 1, 'admin', '2024-01-02 15:43:14', 'admin', '2024-01-02 15:44:02', 1); -INSERT INTO `dataset` VALUES (15, 'new-mnist', '20240117测试数据集', 0, 'admin', '2024-01-17 09:38:08', 'admin', '2024-01-17 09:38:08', 1); -- ---------------------------- -- Table structure for dataset_version -- ---------------------------- DROP TABLE IF EXISTS `dataset_version`; CREATE TABLE `dataset_version` ( - `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键', - `dataset_id` int(4) NOT NULL, + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `dataset_id` int(11) NOT NULL, `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '版本', `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集存储地址', - `file_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名', - `file_size` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件大小', + `file_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名', + `file_size` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件大小', `available_cluster` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '可用集群', - `status` int(4) NULL DEFAULT NULL COMMENT '状态', + `status` int(11) NULL DEFAULT NULL COMMENT '状态', `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT NULL COMMENT '0失效,1生效', + `state` int(11) NULL DEFAULT NULL COMMENT '0失效,1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of dataset_version -- ---------------------------- -INSERT INTO `dataset_version` VALUES (1, 12, '1.0', 'datasets/admin/mnist-20231228-160351/v1.0/comonent-register.json', 'gasdfas.csv', '1MB', NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `dataset_version` VALUES (2, 14, 'v0.1.0', 'datasets/admin/mnist-20240113-164025/v0.1.0/MnistDataset_torch.zip', 'MnistDataset_torch.zip', '42032.4765625', 'GPU', 0, 'admin', '2024-01-13 16:40:25', 'admin', '2024-01-13 16:40:25', 1); -INSERT INTO `dataset_version` VALUES (3, 12, '2.0', 'datasets/admin/mnist-20240115-164032/2.0/xxxx.tar', 'xxxx.tar', '122312', NULL, 1, 'admin', '2024-01-15 16:40:33', 'admin', '2024-01-15 16:40:33', 0); -INSERT INTO `dataset_version` VALUES (4, 15, 'v0.1.0', 'datasets/admin/new-mnist-20240117-134614/v0.1.0/new-mnist.zip', 'new-mnist.zip', '2.7 KiB', 'GPU', 0, 'admin', '2024-01-17 13:46:14', 'admin', '2024-01-17 17:00:03', 1); -INSERT INTO `dataset_version` VALUES (5, 13, '2.0', 'datasets/admin/mnist-20240117-142058/2.0/xxxx.tar', 'xxxx.tar', '122312', NULL, 1, 'admin', '2024-01-17 14:20:58', 'admin', '2024-01-17 14:27:51', 1); -INSERT INTO `dataset_version` VALUES (6, 15, 'v0.2.0', 'datasets/admin/new-mnist-20240117-162229/v0.2.0/new-mnist.zip', 'new-mnist.zip', '655 Bytes', 'GPU', 0, 'admin', '2024-01-17 16:22:30', 'admin', '2024-01-17 16:22:30', 1); -INSERT INTO `dataset_version` VALUES (7, 15, 'v0.3.0', 'datasets/admin/new-mnist-20240117-162949/v0.3.0/new-mnist.zip', 'new-mnist.zip', '655 Bytes', 'GPU', 0, 'admin', '2024-01-17 16:29:49', 'admin', '2024-01-17 16:29:49', 1); -INSERT INTO `dataset_version` VALUES (8, 15, 'v0.4.0', 'datasets/admin/new-mnist-20240117-164246/v0.4.0/new-mnist.zip', 'new-mnist.zip', '655 Bytes', 'GPU', 0, 'admin', '2024-01-17 16:42:47', 'admin', '2024-01-17 16:42:47', 1); -INSERT INTO `dataset_version` VALUES (9, 15, 'v0.5.0', 'datasets/admin/new-mnist-20240117-165815/v0.5.0/new-mnist.zip', 'new-mnist.zip', '2.7 KiB', 'GPU', 0, 'admin', '2024-01-17 16:58:15', 'admin', '2024-01-17 16:58:15', 1); -INSERT INTO `dataset_version` VALUES (10, 14, 'v0.2.0', 'datasets/admin/mnist-20240118-114611/v0.2.0/MnistDataset_torch.zip', 'MnistDataset_torch.zip', '42032.4765625', 'GPU', 0, 'admin', '2024-01-18 11:46:11', 'admin', '2024-01-18 11:46:11', 0); -INSERT INTO `dataset_version` VALUES (11, 14, 'v0.3.0', NULL, NULL, NULL, 'GPU', 0, 'admin', '2024-01-18 11:47:57', 'admin', '2024-01-18 11:47:57', 1); -INSERT INTO `dataset_version` VALUES (12, 14, 'v0.2.0', 'datasets/admin/mnist-20240118-114804/v0.2.0/MnistDataset_torch.zip', 'MnistDataset_torch.zip', '42032.4765625', 'GPU', 0, 'admin', '2024-01-18 11:48:05', 'admin', '2024-01-18 11:48:05', 1); -- ---------------------------- -- Table structure for experiment @@ -160,53 +225,19 @@ CREATE TABLE `experiment` ( `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实验名称', `workflow_id` bigint(20) NULL DEFAULT NULL, `global_param` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '全局参数', + `status_list` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '状态列表', `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', + `state` int(11) NULL DEFAULT 1 COMMENT '0,失效 1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 356 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of experiment -- ---------------------------- -INSERT INTO `experiment` VALUES (321, NULL, 1, '{}', 'test', 'admin', '2023-11-06 16:34:48', 'admin', '2023-11-06 16:34:51', 0); -INSERT INTO `experiment` VALUES (322, NULL, 26, NULL, 'pytorch小模型训练实验做简单的测试', 'admin', '2023-11-15 15:27:33', 'admin', '2023-11-15 15:27:33', 0); -INSERT INTO `experiment` VALUES (323, NULL, 26, NULL, 'pytorch小模型训练实验做简单的测试', 'admin', '2023-11-15 16:26:03', 'admin', '2023-11-15 16:26:03', 0); -INSERT INTO `experiment` VALUES (324, NULL, 26, NULL, 'pytorch大模型训练实验做简单的测试', 'admin', '2023-11-16 10:17:59', 'admin', '2023-11-16 10:17:59', 0); -INSERT INTO `experiment` VALUES (325, NULL, 26, NULL, 'pytorch大模型训练实验做简单的测试', 'admin', '2023-11-16 10:18:49', 'admin', '2023-11-16 10:18:49', 0); -INSERT INTO `experiment` VALUES (326, NULL, 28, NULL, NULL, 'admin', '2023-11-17 09:52:05', 'admin', '2023-11-17 09:52:05', 0); -INSERT INTO `experiment` VALUES (327, NULL, 28, NULL, NULL, 'admin', '2023-11-17 09:53:38', 'admin', '2023-11-17 09:53:38', 0); -INSERT INTO `experiment` VALUES (328, NULL, 28, NULL, NULL, 'admin', '2023-11-17 14:09:11', 'admin', '2023-11-17 14:09:11', 0); -INSERT INTO `experiment` VALUES (329, 'tensorflow小模型训练实验做简单的测试', 28, NULL, NULL, 'admin', '2023-11-20 09:20:11', 'admin', '2023-11-20 09:20:11', 0); -INSERT INTO `experiment` VALUES (330, 'tensorflow小模型训练实验做简单的测试', 28, NULL, NULL, 'admin', '2023-11-17 14:13:43', 'admin', '2023-11-17 14:13:43', 0); -INSERT INTO `experiment` VALUES (331, 'tensorlfow大模型训练实验', 28, NULL, NULL, 'admin', '2023-11-17 14:14:33', 'admin', '2023-11-17 14:14:33', 0); -INSERT INTO `experiment` VALUES (332, NULL, 32, NULL, NULL, 'admin', '2023-11-18 15:56:31', 'admin', '2023-11-18 15:56:31', 0); -INSERT INTO `experiment` VALUES (333, 'pytorch手写体识别训练', NULL, NULL, 'pytorch手写体识别训练,参数非常少', 'admin', '2023-11-20 09:28:32', 'admin', '2023-11-20 09:28:32', 0); -INSERT INTO `experiment` VALUES (334, 'pytorch手写体识别训练-batchsize128', NULL, NULL, 'batchsize128', 'admin', '2023-11-20 09:36:03', 'admin', '2023-11-20 09:36:03', 0); -INSERT INTO `experiment` VALUES (335, 'pytorch手写体识别训练-batchsize128', NULL, NULL, 'batchsize128', 'admin', '2023-11-20 09:39:38', 'admin', '2023-11-20 09:39:38', 0); -INSERT INTO `experiment` VALUES (336, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 09:40:45', 'admin', '2023-11-20 09:40:45', 0); -INSERT INTO `experiment` VALUES (337, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 09:57:30', 'admin', '2023-11-20 09:57:30', 0); -INSERT INTO `experiment` VALUES (338, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:09:23', 'admin', '2023-11-20 10:09:23', 0); -INSERT INTO `experiment` VALUES (339, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:17:53', 'admin', '2023-11-20 10:17:53', 0); -INSERT INTO `experiment` VALUES (340, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:22:50', 'admin', '2023-11-20 10:22:50', 0); -INSERT INTO `experiment` VALUES (341, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (342, 'mindspore大模型训练实验-batcsize256', 35, NULL, 'batcsize256', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (343, '组件库方式tensorflow手写体识别训练-batchsize256', 40, NULL, 'batchsize256', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (344, '测试实验运行', NULL, NULL, 'mnist模型训练', 'admin', '2024-01-16 14:03:48', 'admin', '2024-01-16 14:03:48', 0); -INSERT INTO `experiment` VALUES (345, '测试实验运行', 61, NULL, 'mnist模型训练', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (346, '4234', NULL, NULL, '234', 'admin', '2024-01-17 16:47:02', 'admin', '2024-01-17 16:47:02', 0); -INSERT INTO `experiment` VALUES (347, '234', NULL, NULL, '234', 'admin', '2024-01-17 16:47:39', 'admin', '2024-01-17 16:47:39', 0); -INSERT INTO `experiment` VALUES (348, '测试实验运行', 61, NULL, 'mnist模型训练', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (349, '测试实验运行', 64, NULL, 'mniss', 'admin', '2024-01-18 10:00:36', 'admin', '2024-01-18 10:00:36', 0); -INSERT INTO `experiment` VALUES (350, '测试实验运行0124', 70, NULL, '测试实验0124', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (351, '213123', 68, NULL, '1233213', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (352, '测试实验运行0125', 70, NULL, '测试实验运行0125', 'admin', '2024-01-25 16:44:43', 'admin', '2024-01-25 16:44:43', 0); -INSERT INTO `experiment` VALUES (353, 'mnist-0125', 70, NULL, 'mnist 训练', 'admin', '2024-01-25 16:45:52', 'admin', '2024-01-25 16:45:52', 1); -INSERT INTO `experiment` VALUES (354, 'mnist-0125-error-test', 75, NULL, 'mnist模型训练', 'admin', '2024-01-25 16:57:19', 'admin', '2024-01-25 16:57:19', 1); -INSERT INTO `experiment` VALUES (355, 'erwerwer', 75, NULL, 'werwe', 'admin', '2024-01-26 09:27:13', 'admin', '2024-01-26 09:27:13', 0); -- ---------------------------- -- Table structure for experiment_ins @@ -219,144 +250,22 @@ CREATE TABLE `experiment_ins` ( `argo_ins_ns` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'argo返回命名空间', `status` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实例运行状态', `nodes_status` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '节点状态', + `nodes_result` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '节点运行产生的结果,制品地址', `nodes_logs` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '节点日志', + `global_param` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '全局参数', `start_time` datetime NULL DEFAULT NULL COMMENT '实验开始时间', `finish_time` datetime NULL DEFAULT NULL COMMENT '实验结束时间', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', + `state` int(11) NULL DEFAULT 1 COMMENT '0,失效 1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 128 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of experiment_ins -- ---------------------------- -INSERT INTO `experiment_ins` VALUES (1, 321, 'workflow-cgtld', 'argo', 'Terminated', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (2, 321, 'workflow-hwb7n', 'argo', 'Terminated', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (3, 321, 'workflow-ttshq', 'argo', 'Terminated', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (4, 321, 'workflow-vws9k', 'argo', 'Terminated', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (6, 323, 'workflow-lrb2s', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-15 16:44:39', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (7, 323, 'workflow-25qkl', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 09:11:17', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (8, 323, 'workflow-bjqrm', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 09:27:29', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (9, 323, 'workflow-hs4mq', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 09:43:17', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (10, 321, 'workflow-zsprx', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 10:11:29', 'admin', '2023-11-17 09:26:09', 0); -INSERT INTO `experiment_ins` VALUES (11, 322, 'workflow-bwxvs', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 10:12:59', 'admin', '2023-11-16 15:21:16', 0); -INSERT INTO `experiment_ins` VALUES (12, 322, 'workflow-jmk7l', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 10:13:31', 'admin', '2023-11-16 16:14:07', 0); -INSERT INTO `experiment_ins` VALUES (13, 321, 'workflow-jsbmn', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 10:13:47', 'admin', '2023-11-17 13:40:32', 0); -INSERT INTO `experiment_ins` VALUES (14, 325, 'workflow-7zdpd', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-16 10:18:50', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (15, 327, 'workflow-9gf62', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-11-17 09:53:39', 'admin', '2023-11-17 14:22:32', 0); -INSERT INTO `experiment_ins` VALUES (16, 331, 'workflow-dcchw', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-17 14:14:34', 'admin', '2023-11-17 14:16:48', 0); -INSERT INTO `experiment_ins` VALUES (17, 331, 'workflow-64qv8', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-17 14:15:33', 'admin', '2023-11-17 14:22:32', 0); -INSERT INTO `experiment_ins` VALUES (18, 336, 'workflow-kknnq', 'argo', 'Running', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 09:41:28', 'admin', '2023-11-20 09:51:20', 0); -INSERT INTO `experiment_ins` VALUES (19, 337, 'workflow-spwqx', 'argo', 'Succeeded', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 09:57:43', 'admin', '2023-11-20 10:08:52', 0); -INSERT INTO `experiment_ins` VALUES (20, 338, 'workflow-rpvmj', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 10:09:39', 'admin', '2023-11-20 10:14:45', 0); -INSERT INTO `experiment_ins` VALUES (21, 339, 'workflow-vqxwn', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 10:18:02', 'admin', '2023-11-20 10:18:17', 0); -INSERT INTO `experiment_ins` VALUES (22, 340, 'workflow-p4m58', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 10:23:13', 'admin', '2023-11-20 10:23:26', 0); -INSERT INTO `experiment_ins` VALUES (23, 341, 'workflow-ffd7k', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 10:28:47', 'admin', '2023-11-20 10:28:57', 0); -INSERT INTO `experiment_ins` VALUES (24, 341, 'workflow-psd6l', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 10:29:39', 'admin', '2023-11-20 10:29:52', 0); -INSERT INTO `experiment_ins` VALUES (25, 342, 'workflow-h2nww', 'argo', 'Terminated', NULL, NULL, NULL, NULL, 'admin', '2023-11-20 10:32:40', 'admin', '2023-11-20 10:32:50', 0); -INSERT INTO `experiment_ins` VALUES (27, 343, 'workflow-9xp9x', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-12-21 14:31:27', 'admin', '2023-12-21 14:35:39', 0); -INSERT INTO `experiment_ins` VALUES (28, 343, 'workflow-kf77h', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-12-21 14:37:21', 'admin', '2023-12-21 14:58:43', 0); -INSERT INTO `experiment_ins` VALUES (29, 343, 'workflow-9gb7r', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-12-21 14:59:34', 'admin', '2023-12-21 15:00:10', 0); -INSERT INTO `experiment_ins` VALUES (30, 343, 'workflow-n8ffg', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-12-21 15:31:56', 'admin', '2023-12-21 15:46:49', 0); -INSERT INTO `experiment_ins` VALUES (31, 343, 'workflow-8tclj', 'argo', 'Failed', NULL, NULL, NULL, NULL, 'admin', '2023-12-21 15:49:08', '苏影城', '2023-12-21 15:56:57', 0); -INSERT INTO `experiment_ins` VALUES (32, 343, 'workflow-ng98b', 'argo', 'Failed', '{\"workflow-ng98b\":{\"id\":\"workflow-ng98b\",\"name\":\"workflow-ng98b\",\"displayName\":\"workflow-ng98b\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-ng98b\",\"phase\":\"Running\",\"startedAt\":\"2023-12-21T07:58:55Z\",\"finishedAt\":null,\"progress\":\"1/2\",\"children\":[\"workflow-ng98b-904177022\"]},\"workflow-ng98b-763759812\":{\"id\":\"workflow-ng98b-763759812\",\"name\":\"workflow-ng98b.train-091bb1e\",\"displayName\":\"train-091bb1e\",\"type\":\"Pod\",\"templateName\":\"train-091bb1e\",\"templateScope\":\"local/workflow-ng98b\",\"phase\":\"Running\",\"boundaryID\":\"workflow-ng98b\",\"startedAt\":\"2023-12-21T08:00:05Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-node-01\"},\"workflow-ng98b-904177022\":{\"id\":\"workflow-ng98b-904177022\",\"name\":\"workflow-ng98b.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-ng98b\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ng98b\",\"startedAt\":\"2023-12-21T07:58:55Z\",\"finishedAt\":\"2023-12-21T07:59:55Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":108,\"memory\":1119},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ng98b/workflow-ng98b-git-clone-010ee3-904177022/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ng98b-763759812\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, NULL, NULL, '苏影城', '2023-12-21 15:58:53', '苏影城', '2023-12-21 16:22:40', 0); -INSERT INTO `experiment_ins` VALUES (33, 343, 'workflow-cf7zb', 'argo', 'Failed', '{\"workflow-cf7zb\":{\"id\":\"workflow-cf7zb\",\"name\":\"workflow-cf7zb\",\"displayName\":\"workflow-cf7zb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-cf7zb\",\"phase\":\"Running\",\"startedAt\":\"2023-12-21T08:26:43Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-cf7zb-965299672\"]},\"workflow-cf7zb-965299672\":{\"id\":\"workflow-cf7zb-965299672\",\"name\":\"workflow-cf7zb.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-cf7zb\",\"phase\":\"Running\",\"boundaryID\":\"workflow-cf7zb\",\"startedAt\":\"2023-12-21T08:26:43Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"}}', NULL, NULL, NULL, '苏影城', '2023-12-21 16:26:41', '苏影城', '2023-12-21 16:26:52', 0); -INSERT INTO `experiment_ins` VALUES (34, 343, 'workflow-99gxn', 'argo', 'Failed', '{\"workflow-99gxn\":{\"id\":\"workflow-99gxn\",\"name\":\"workflow-99gxn\",\"displayName\":\"workflow-99gxn\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-99gxn\",\"phase\":\"Running\",\"startedAt\":\"2023-12-22T01:06:42Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-99gxn-1702733061\"]},\"workflow-99gxn-1702733061\":{\"id\":\"workflow-99gxn-1702733061\",\"name\":\"workflow-99gxn.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-99gxn\",\"phase\":\"Running\",\"boundaryID\":\"workflow-99gxn\",\"startedAt\":\"2023-12-22T01:06:42Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"}}', NULL, NULL, NULL, 'admin', '2023-12-22 09:06:42', 'admin', '2023-12-22 09:16:38', 0); -INSERT INTO `experiment_ins` VALUES (35, 343, 'workflow-vkjff', 'argo', 'Failed', '{\"workflow-vkjff\":{\"id\":\"workflow-vkjff\",\"name\":\"workflow-vkjff\",\"displayName\":\"workflow-vkjff\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Running\",\"startedAt\":\"2023-12-25T06:25:52Z\",\"finishedAt\":null,\"progress\":\"1/2\",\"children\":[\"workflow-vkjff-4159113811\"]},\"workflow-vkjff-1017537614\":{\"id\":\"workflow-vkjff-1017537614\",\"name\":\"workflow-vkjff.train-091bb1e(0)\",\"displayName\":\"train-091bb1e(0)\",\"type\":\"Pod\",\"templateName\":\"train-091bb1e\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:27:05Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-vkjff-2814105347\":{\"id\":\"workflow-vkjff-2814105347\",\"name\":\"workflow-vkjff.train-091bb1e\",\"displayName\":\"train-091bb1e\",\"type\":\"Retry\",\"templateName\":\"train-091bb1e\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:27:05Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-vkjff-1017537614\"]},\"workflow-vkjff-4159113811\":{\"id\":\"workflow-vkjff-4159113811\",\"name\":\"workflow-vkjff.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Retry\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:25:52Z\",\"finishedAt\":\"2023-12-25T06:27:05Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":116,\"memory\":1183},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vkjff/workflow-vkjff-git-clone-010ee3-677292510/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vkjff-677292510\"]},\"workflow-vkjff-677292510\":{\"id\":\"workflow-vkjff-677292510\",\"name\":\"workflow-vkjff.git-clone-010ee3(0)\",\"displayName\":\"git-clone-010ee3(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:25:52Z\",\"finishedAt\":\"2023-12-25T06:26:55Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":116,\"memory\":1183},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vkjff/workflow-vkjff-git-clone-010ee3-677292510/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vkjff-2814105347\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, NULL, NULL, '苏影城', '2023-12-25 14:25:52', '苏影城', '2023-12-25 14:31:39', 0); -INSERT INTO `experiment_ins` VALUES (36, 345, 'workflow-nvdkn', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (37, 345, 'workflow-7jw9c', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (38, 345, 'workflow-854lx', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (39, 345, 'workflow-h8ppx', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (40, 345, 'workflow-kt579', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (41, 345, 'workflow-rlqbb', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (42, 345, 'workflow-fxq5v', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (43, 345, 'workflow-7sl42', 'argo', 'Succeeded', '{\"workflow-7sl42\":{\"id\":\"workflow-7sl42\",\"name\":\"workflow-7sl42\",\"displayName\":\"workflow-7sl42\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-17T07:48:33Z\",\"finishedAt\":\"2024-01-17T07:51:57Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":348,\"memory\":3670},\"children\":[\"workflow-7sl42-3833375571\"],\"outboundNodes\":[\"workflow-7sl42-1254924323\",\"workflow-7sl42-3816696960\"]},\"workflow-7sl42-1254924323\":{\"id\":\"workflow-7sl42-1254924323\",\"name\":\"workflow-7sl42.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:51:26Z\",\"finishedAt\":\"2024-01-17T07:51:47Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-model-train-4d6cc04-1254924323/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-7sl42-1256981056\":{\"id\":\"workflow-7sl42-1256981056\",\"name\":\"workflow-7sl42.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:51:26Z\",\"finishedAt\":\"2024-01-17T07:51:57Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-model-train-4d6cc04-1254924323/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7sl42-1254924323\"]},\"workflow-7sl42-3183989982\":{\"id\":\"workflow-7sl42-3183989982\",\"name\":\"workflow-7sl42.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:48:33Z\",\"finishedAt\":\"2024-01-17T07:50:51Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":266,\"memory\":2788},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-git-clone-35e4b7b7-3183989982/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7sl42-989961273\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-7sl42-3816696960\":{\"id\":\"workflow-7sl42-3816696960\",\"name\":\"workflow-7sl42.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:51:26Z\",\"finishedAt\":\"2024-01-17T07:51:47Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-model-train-f5e8375-3816696960/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-7sl42-3833375571\":{\"id\":\"workflow-7sl42-3833375571\",\"name\":\"workflow-7sl42.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:48:33Z\",\"finishedAt\":\"2024-01-17T07:51:01Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":348,\"memory\":3670},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-git-clone-35e4b7b7-3183989982/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7sl42-3183989982\"]},\"workflow-7sl42-4132811744\":{\"id\":\"workflow-7sl42-4132811744\",\"name\":\"workflow-7sl42.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:51:01Z\",\"finishedAt\":\"2024-01-17T07:51:16Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":374},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-model-train-0798f5f-4132811744/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7sl42-1256981056\",\"workflow-7sl42-671981273\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-7sl42-671981273\":{\"id\":\"workflow-7sl42-671981273\",\"name\":\"workflow-7sl42.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:51:26Z\",\"finishedAt\":\"2024-01-17T07:51:57Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-model-train-f5e8375-3816696960/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7sl42-3816696960\"]},\"workflow-7sl42-989961273\":{\"id\":\"workflow-7sl42-989961273\",\"name\":\"workflow-7sl42.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-7sl42\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7sl42\",\"startedAt\":\"2024-01-17T07:51:01Z\",\"finishedAt\":\"2024-01-17T07:51:26Z\",\"progress\":\"3/3\",\"resourcesDuration\":{\"cpu\":82,\"memory\":882},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7sl42/workflow-7sl42-model-train-0798f5f-4132811744/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7sl42-4132811744\"]}}', NULL, '2024-01-17 07:48:33', '2024-01-17 07:51:57', NULL, NULL, 'admin', '2024-01-17 20:49:42', 0); -INSERT INTO `experiment_ins` VALUES (44, 345, 'workflow-x2c9w', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (45, 348, 'workflow-tdq9x', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (46, 348, 'workflow-cstcz', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (47, 348, 'workflow-9j5qp', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (48, 348, 'workflow-w5wt7', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0); -INSERT INTO `experiment_ins` VALUES (49, 348, 'workflow-th6jg', 'argo', 'Succeeded', '{\"workflow-th6jg\":{\"id\":\"workflow-th6jg\",\"name\":\"workflow-th6jg\",\"displayName\":\"workflow-th6jg\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-th6jg\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T01:03:38Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-th6jg-40415408\"]},\"workflow-th6jg-1512880851\":{\"id\":\"workflow-th6jg-1512880851\",\"name\":\"workflow-th6jg.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-th6jg\",\"phase\":\"Pending\",\"boundaryID\":\"workflow-th6jg\",\"startedAt\":\"2024-01-18T01:03:38Z\",\"finishedAt\":null,\"progress\":\"0/1\"},\"workflow-th6jg-40415408\":{\"id\":\"workflow-th6jg-40415408\",\"name\":\"workflow-th6jg.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-th6jg\",\"phase\":\"Running\",\"boundaryID\":\"workflow-th6jg\",\"startedAt\":\"2024-01-18T01:03:38Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-th6jg-1512880851\"]}}', NULL, '2024-01-18 01:03:38', '2024-01-18 01:06:08', 'admin', '2024-01-18 09:03:40', 'admin', '2024-01-18 10:07:46', 0); -INSERT INTO `experiment_ins` VALUES (50, 348, 'workflow-dl4nb', 'argo', 'Succeeded', '{\"workflow-dl4nb\":{\"id\":\"workflow-dl4nb\",\"name\":\"workflow-dl4nb\",\"displayName\":\"workflow-dl4nb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-dl4nb\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T01:25:27Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-dl4nb-347060911\"]},\"workflow-dl4nb-347060911\":{\"id\":\"workflow-dl4nb-347060911\",\"name\":\"workflow-dl4nb.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-dl4nb\",\"phase\":\"Running\",\"boundaryID\":\"workflow-dl4nb\",\"startedAt\":\"2024-01-18T01:25:27Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-dl4nb-766033330\"]},\"workflow-dl4nb-766033330\":{\"id\":\"workflow-dl4nb-766033330\",\"name\":\"workflow-dl4nb.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-dl4nb\",\"phase\":\"Pending\",\"boundaryID\":\"workflow-dl4nb\",\"startedAt\":\"2024-01-18T01:25:27Z\",\"finishedAt\":null,\"progress\":\"0/1\"}}', NULL, '2024-01-18 01:25:27', '2024-01-18 01:29:48', 'admin', '2024-01-18 09:25:29', 'admin', '2024-01-18 10:43:23', 0); -INSERT INTO `experiment_ins` VALUES (51, 348, 'workflow-86m9s', 'argo', 'Succeeded', '{\"workflow-86m9s\":{\"id\":\"workflow-86m9s\",\"name\":\"workflow-86m9s\",\"displayName\":\"workflow-86m9s\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-86m9s\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T01:25:29Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-86m9s-1852250796\"]},\"workflow-86m9s-1137565735\":{\"id\":\"workflow-86m9s-1137565735\",\"name\":\"workflow-86m9s.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-86m9s\",\"phase\":\"Running\",\"boundaryID\":\"workflow-86m9s\",\"startedAt\":\"2024-01-18T01:25:29Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-node-01\"},\"workflow-86m9s-1852250796\":{\"id\":\"workflow-86m9s-1852250796\",\"name\":\"workflow-86m9s.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-86m9s\",\"phase\":\"Running\",\"boundaryID\":\"workflow-86m9s\",\"startedAt\":\"2024-01-18T01:25:29Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-86m9s-1137565735\"]}}', NULL, '2024-01-18 01:25:29', '2024-01-18 01:29:31', 'admin', '2024-01-18 09:25:32', 'admin', '2024-01-18 10:43:23', 0); -INSERT INTO `experiment_ins` VALUES (52, 348, 'workflow-k46vb', 'argo', 'Succeeded', '{\"workflow-k46vb\":{\"id\":\"workflow-k46vb\",\"name\":\"workflow-k46vb\",\"displayName\":\"workflow-k46vb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-k46vb\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T01:42:49Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-k46vb-2911168278\"]},\"workflow-k46vb-2911168278\":{\"id\":\"workflow-k46vb-2911168278\",\"name\":\"workflow-k46vb.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-k46vb\",\"phase\":\"Running\",\"boundaryID\":\"workflow-k46vb\",\"startedAt\":\"2024-01-18T01:42:49Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-k46vb-41674517\"]},\"workflow-k46vb-41674517\":{\"id\":\"workflow-k46vb-41674517\",\"name\":\"workflow-k46vb.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-k46vb\",\"phase\":\"Running\",\"boundaryID\":\"workflow-k46vb\",\"startedAt\":\"2024-01-18T01:42:49Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-18 01:42:49', '2024-01-18 01:45:02', 'admin', '2024-01-18 09:42:52', 'admin', '2024-01-18 10:43:24', 0); -INSERT INTO `experiment_ins` VALUES (53, 348, 'workflow-np2mw', 'argo', 'Succeeded', '{\"workflow-np2mw\":{\"id\":\"workflow-np2mw\",\"name\":\"workflow-np2mw\",\"displayName\":\"workflow-np2mw\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-np2mw\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T01:54:33Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-np2mw-3676965211\"]},\"workflow-np2mw-3676965211\":{\"id\":\"workflow-np2mw-3676965211\",\"name\":\"workflow-np2mw.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-np2mw\",\"phase\":\"Running\",\"boundaryID\":\"workflow-np2mw\",\"startedAt\":\"2024-01-18T01:54:33Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-np2mw-3904168150\"]},\"workflow-np2mw-3904168150\":{\"id\":\"workflow-np2mw-3904168150\",\"name\":\"workflow-np2mw.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-np2mw\",\"phase\":\"Pending\",\"boundaryID\":\"workflow-np2mw\",\"startedAt\":\"2024-01-18T01:54:33Z\",\"finishedAt\":null,\"progress\":\"0/1\"}}', NULL, '2024-01-18 01:54:33', '2024-01-18 01:57:51', 'admin', '2024-01-18 09:54:35', 'admin', '2024-01-18 10:43:24', 0); -INSERT INTO `experiment_ins` VALUES (54, 348, 'workflow-82ml8', 'argo', NULL, NULL, NULL, NULL, NULL, 'admin', '2024-01-18 10:12:53', 'admin', '2024-01-18 10:12:53', 0); -INSERT INTO `experiment_ins` VALUES (55, 348, 'workflow-r2rjz', 'argo', NULL, NULL, NULL, NULL, NULL, 'admin', '2024-01-18 11:50:05', 'admin', '2024-01-18 11:50:05', 0); -INSERT INTO `experiment_ins` VALUES (56, 348, 'workflow-v5snb', 'argo', 'Succeeded', '{\"workflow-v5snb\":{\"id\":\"workflow-v5snb\",\"name\":\"workflow-v5snb\",\"displayName\":\"workflow-v5snb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-18T03:51:17Z\",\"finishedAt\":\"2024-01-18T03:55:33Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":417,\"memory\":4427},\"children\":[\"workflow-v5snb-1345256797\"],\"outboundNodes\":[\"workflow-v5snb-2593780041\",\"workflow-v5snb-3408111070\"]},\"workflow-v5snb-1345256797\":{\"id\":\"workflow-v5snb-1345256797\",\"name\":\"workflow-v5snb.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:51:17Z\",\"finishedAt\":\"2024-01-18T03:54:18Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":417,\"memory\":4427},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-git-clone-35e4b7b7-485723628/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-v5snb-485723628\"]},\"workflow-v5snb-152862291\":{\"id\":\"workflow-v5snb-152862291\",\"name\":\"workflow-v5snb.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:54:52Z\",\"finishedAt\":\"2024-01-18T03:55:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-model-train-f5e8375-3408111070/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-v5snb-3408111070\"]},\"workflow-v5snb-1731255762\":{\"id\":\"workflow-v5snb-1731255762\",\"name\":\"workflow-v5snb.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:54:52Z\",\"finishedAt\":\"2024-01-18T03:55:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-model-train-4d6cc04-2593780041/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-v5snb-2593780041\"]},\"workflow-v5snb-2498520971\":{\"id\":\"workflow-v5snb-2498520971\",\"name\":\"workflow-v5snb.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:54:18Z\",\"finishedAt\":\"2024-01-18T03:54:52Z\",\"progress\":\"3/3\",\"resourcesDuration\":{\"cpu\":84,\"memory\":922},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-model-train-0798f5f-4216529030/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-v5snb-4216529030\"]},\"workflow-v5snb-2593780041\":{\"id\":\"workflow-v5snb-2593780041\",\"name\":\"workflow-v5snb.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:54:52Z\",\"finishedAt\":\"2024-01-18T03:55:22Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-model-train-4d6cc04-2593780041/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-v5snb-3408111070\":{\"id\":\"workflow-v5snb-3408111070\",\"name\":\"workflow-v5snb.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:54:52Z\",\"finishedAt\":\"2024-01-18T03:55:22Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-model-train-f5e8375-3408111070/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-v5snb-4216529030\":{\"id\":\"workflow-v5snb-4216529030\",\"name\":\"workflow-v5snb.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:54:18Z\",\"finishedAt\":\"2024-01-18T03:54:42Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-model-train-0798f5f-4216529030/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-v5snb-1731255762\",\"workflow-v5snb-152862291\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-v5snb-485723628\":{\"id\":\"workflow-v5snb-485723628\",\"name\":\"workflow-v5snb.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-v5snb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-v5snb\",\"startedAt\":\"2024-01-18T03:51:17Z\",\"finishedAt\":\"2024-01-18T03:54:08Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":333,\"memory\":3505},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-v5snb/workflow-v5snb-git-clone-35e4b7b7-485723628/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-v5snb-2498520971\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-18 03:51:17', '2024-01-18 03:55:33', 'admin', '2024-01-18 11:51:20', 'admin', '2024-01-18 14:01:25', 0); -INSERT INTO `experiment_ins` VALUES (57, 348, 'workflow-wvdvc', 'argo', 'Succeeded', '{\"workflow-wvdvc\":{\"id\":\"workflow-wvdvc\",\"name\":\"workflow-wvdvc\",\"displayName\":\"workflow-wvdvc\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-18T05:38:58Z\",\"finishedAt\":\"2024-01-18T05:43:42Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":496,\"memory\":5272},\"children\":[\"workflow-wvdvc-1577038799\"],\"outboundNodes\":[\"workflow-wvdvc-3079793935\",\"workflow-wvdvc-3820305284\"]},\"workflow-wvdvc-1192283300\":{\"id\":\"workflow-wvdvc-1192283300\",\"name\":\"workflow-wvdvc.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:43:08Z\",\"finishedAt\":\"2024-01-18T05:43:42Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-model-train-4d6cc04-3079793935/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-wvdvc-3079793935\"]},\"workflow-wvdvc-1577038799\":{\"id\":\"workflow-wvdvc-1577038799\",\"name\":\"workflow-wvdvc.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:38:58Z\",\"finishedAt\":\"2024-01-18T05:42:39Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":496,\"memory\":5272},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-git-clone-35e4b7b7-2669066066/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-wvdvc-2669066066\"]},\"workflow-wvdvc-2025923877\":{\"id\":\"workflow-wvdvc-2025923877\",\"name\":\"workflow-wvdvc.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:43:08Z\",\"finishedAt\":\"2024-01-18T05:43:42Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":20,\"memory\":250},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-model-train-f5e8375-3820305284/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-wvdvc-3820305284\"]},\"workflow-wvdvc-2669066066\":{\"id\":\"workflow-wvdvc-2669066066\",\"name\":\"workflow-wvdvc.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:38:58Z\",\"finishedAt\":\"2024-01-18T05:42:29Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":414,\"memory\":4350},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-git-clone-35e4b7b7-2669066066/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-wvdvc-2930579149\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-wvdvc-2930579149\":{\"id\":\"workflow-wvdvc-2930579149\",\"name\":\"workflow-wvdvc.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:42:39Z\",\"finishedAt\":\"2024-01-18T05:43:08Z\",\"progress\":\"3/3\",\"resourcesDuration\":{\"cpu\":82,\"memory\":922},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-model-train-0798f5f-838796444/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-wvdvc-838796444\"]},\"workflow-wvdvc-3079793935\":{\"id\":\"workflow-wvdvc-3079793935\",\"name\":\"workflow-wvdvc.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:43:08Z\",\"finishedAt\":\"2024-01-18T05:43:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-model-train-4d6cc04-3079793935/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-wvdvc-3820305284\":{\"id\":\"workflow-wvdvc-3820305284\",\"name\":\"workflow-wvdvc.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:43:08Z\",\"finishedAt\":\"2024-01-18T05:43:26Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":20,\"memory\":250},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-model-train-f5e8375-3820305284/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-wvdvc-838796444\":{\"id\":\"workflow-wvdvc-838796444\",\"name\":\"workflow-wvdvc.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-wvdvc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-wvdvc\",\"startedAt\":\"2024-01-18T05:42:39Z\",\"finishedAt\":\"2024-01-18T05:42:59Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":418},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-wvdvc/workflow-wvdvc-model-train-0798f5f-838796444/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-wvdvc-1192283300\",\"workflow-wvdvc-2025923877\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-18 05:38:58', '2024-01-18 05:43:42', 'admin', '2024-01-18 13:39:01', 'admin', '2024-01-18 14:01:25', 0); -INSERT INTO `experiment_ins` VALUES (58, 348, 'workflow-hr47p', 'argo', 'Succeeded', '{\"workflow-hr47p\":{\"id\":\"workflow-hr47p\",\"name\":\"workflow-hr47p\",\"displayName\":\"workflow-hr47p\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-18T05:55:07Z\",\"finishedAt\":\"2024-01-18T05:59:40Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":453,\"memory\":4827},\"children\":[\"workflow-hr47p-2671992060\"],\"outboundNodes\":[\"workflow-hr47p-204891324\",\"workflow-hr47p-3932074503\"]},\"workflow-hr47p-1235572279\":{\"id\":\"workflow-hr47p-1235572279\",\"name\":\"workflow-hr47p.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:55:07Z\",\"finishedAt\":\"2024-01-18T05:58:13Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":361,\"memory\":3780},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-git-clone-35e4b7b7-1235572279/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-hr47p-3836304452\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-hr47p-204891324\":{\"id\":\"workflow-hr47p-204891324\",\"name\":\"workflow-hr47p.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:59:03Z\",\"finishedAt\":\"2024-01-18T05:59:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":21,\"memory\":250},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-model-train-4d6cc04-204891324/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-hr47p-2671992060\":{\"id\":\"workflow-hr47p-2671992060\",\"name\":\"workflow-hr47p.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:55:07Z\",\"finishedAt\":\"2024-01-18T05:58:23Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":453,\"memory\":4827},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-git-clone-35e4b7b7-1235572279/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-hr47p-1235572279\"]},\"workflow-hr47p-3387962508\":{\"id\":\"workflow-hr47p-3387962508\",\"name\":\"workflow-hr47p.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:59:04Z\",\"finishedAt\":\"2024-01-18T05:59:40Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-model-train-f5e8375-3932074503/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-hr47p-3932074503\"]},\"workflow-hr47p-3552359087\":{\"id\":\"workflow-hr47p-3552359087\",\"name\":\"workflow-hr47p.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:58:23Z\",\"finishedAt\":\"2024-01-18T05:58:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":44,\"memory\":543},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-model-train-0798f5f-3552359087/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-hr47p-799757037\",\"workflow-hr47p-3387962508\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-hr47p-3836304452\":{\"id\":\"workflow-hr47p-3836304452\",\"name\":\"workflow-hr47p.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:58:23Z\",\"finishedAt\":\"2024-01-18T05:59:03Z\",\"progress\":\"3/3\",\"resourcesDuration\":{\"cpu\":92,\"memory\":1047},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-model-train-0798f5f-3552359087/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-hr47p-3552359087\"]},\"workflow-hr47p-3932074503\":{\"id\":\"workflow-hr47p-3932074503\",\"name\":\"workflow-hr47p.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:59:04Z\",\"finishedAt\":\"2024-01-18T05:59:38Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-model-train-f5e8375-3932074503/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-hr47p-799757037\":{\"id\":\"workflow-hr47p-799757037\",\"name\":\"workflow-hr47p.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-hr47p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-hr47p\",\"startedAt\":\"2024-01-18T05:59:03Z\",\"finishedAt\":\"2024-01-18T05:59:40Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":21,\"memory\":250},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-hr47p/workflow-hr47p-model-train-4d6cc04-204891324/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-hr47p-204891324\"]}}', NULL, '2024-01-18 05:55:07', '2024-01-18 05:59:40', 'admin', '2024-01-18 13:55:11', 'admin', '2024-01-18 14:01:25', 0); -INSERT INTO `experiment_ins` VALUES (59, 348, 'workflow-z87vf', 'argo', 'Succeeded', '{\"workflow-z87vf\":{\"id\":\"workflow-z87vf\",\"name\":\"workflow-z87vf\",\"displayName\":\"workflow-z87vf\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-18T05:55:09Z\",\"finishedAt\":\"2024-01-18T05:59:03Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":389,\"memory\":4152},\"children\":[\"workflow-z87vf-3385298726\"],\"outboundNodes\":[\"workflow-z87vf-4127824130\",\"workflow-z87vf-3200044421\"]},\"workflow-z87vf-1365651071\":{\"id\":\"workflow-z87vf-1365651071\",\"name\":\"workflow-z87vf.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:58:22Z\",\"finishedAt\":\"2024-01-18T05:59:03Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":36,\"memory\":379},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-model-train-4d6cc04-4127824130/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-z87vf-4127824130\"]},\"workflow-z87vf-1879780870\":{\"id\":\"workflow-z87vf-1879780870\",\"name\":\"workflow-z87vf.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:58:22Z\",\"finishedAt\":\"2024-01-18T05:59:03Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":378},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-model-train-f5e8375-3200044421/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-z87vf-3200044421\"]},\"workflow-z87vf-3200044421\":{\"id\":\"workflow-z87vf-3200044421\",\"name\":\"workflow-z87vf.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:58:22Z\",\"finishedAt\":\"2024-01-18T05:58:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":378},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-model-train-f5e8375-3200044421/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-z87vf-3385298726\":{\"id\":\"workflow-z87vf-3385298726\",\"name\":\"workflow-z87vf.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:55:09Z\",\"finishedAt\":\"2024-01-18T05:57:47Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":389,\"memory\":4152},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-git-clone-35e4b7b7-3397963301/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-z87vf-3397963301\"]},\"workflow-z87vf-3397963301\":{\"id\":\"workflow-z87vf-3397963301\",\"name\":\"workflow-z87vf.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:55:09Z\",\"finishedAt\":\"2024-01-18T05:57:37Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":284,\"memory\":2978},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-git-clone-35e4b7b7-3397963301/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-z87vf-3540484030\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-z87vf-3473202413\":{\"id\":\"workflow-z87vf-3473202413\",\"name\":\"workflow-z87vf.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:57:47Z\",\"finishedAt\":\"2024-01-18T05:58:10Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-model-train-0798f5f-3473202413/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-z87vf-1365651071\",\"workflow-z87vf-1879780870\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-z87vf-3540484030\":{\"id\":\"workflow-z87vf-3540484030\",\"name\":\"workflow-z87vf.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:57:47Z\",\"finishedAt\":\"2024-01-18T05:58:22Z\",\"progress\":\"3/3\",\"resourcesDuration\":{\"cpu\":105,\"memory\":1174},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-model-train-0798f5f-3473202413/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-z87vf-3473202413\"]},\"workflow-z87vf-4127824130\":{\"id\":\"workflow-z87vf-4127824130\",\"name\":\"workflow-z87vf.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-z87vf\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-z87vf\",\"startedAt\":\"2024-01-18T05:58:22Z\",\"finishedAt\":\"2024-01-18T05:58:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":36,\"memory\":379},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-z87vf/workflow-z87vf-model-train-4d6cc04-4127824130/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-18 05:55:09', '2024-01-18 05:59:03', 'admin', '2024-01-18 13:55:12', 'admin', '2024-01-18 14:01:25', 0); -INSERT INTO `experiment_ins` VALUES (60, 348, 'workflow-cz44g', 'argo', 'Succeeded', '{\"workflow-cz44g\":{\"id\":\"workflow-cz44g\",\"name\":\"workflow-cz44g\",\"displayName\":\"workflow-cz44g\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-18T05:55:17Z\",\"finishedAt\":\"2024-01-18T05:59:19Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":430,\"memory\":4814},\"children\":[\"workflow-cz44g-2242550157\"],\"outboundNodes\":[\"workflow-cz44g-862999513\",\"workflow-cz44g-636368654\"]},\"workflow-cz44g-1764791004\":{\"id\":\"workflow-cz44g-1764791004\",\"name\":\"workflow-cz44g.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:55:17Z\",\"finishedAt\":\"2024-01-18T05:58:03Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":322,\"memory\":3400},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-git-clone-35e4b7b7-1764791004/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cz44g-4275555771\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-cz44g-2242550157\":{\"id\":\"workflow-cz44g-2242550157\",\"name\":\"workflow-cz44g.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:55:17Z\",\"finishedAt\":\"2024-01-18T05:58:13Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":430,\"memory\":4814},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-git-clone-35e4b7b7-1764791004/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cz44g-1764791004\"]},\"workflow-cz44g-2430697654\":{\"id\":\"workflow-cz44g-2430697654\",\"name\":\"workflow-cz44g.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:58:13Z\",\"finishedAt\":\"2024-01-18T05:58:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-model-train-0798f5f-2430697654/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cz44g-581539298\",\"workflow-cz44g-447534915\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-cz44g-4275555771\":{\"id\":\"workflow-cz44g-4275555771\",\"name\":\"workflow-cz44g.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:58:13Z\",\"finishedAt\":\"2024-01-18T05:58:40Z\",\"progress\":\"3/3\",\"resourcesDuration\":{\"cpu\":108,\"memory\":1414},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-model-train-0798f5f-2430697654/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cz44g-2430697654\"]},\"workflow-cz44g-447534915\":{\"id\":\"workflow-cz44g-447534915\",\"name\":\"workflow-cz44g.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:58:46Z\",\"finishedAt\":\"2024-01-18T05:59:19Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":38,\"memory\":499},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-model-train-f5e8375-636368654/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cz44g-636368654\"]},\"workflow-cz44g-581539298\":{\"id\":\"workflow-cz44g-581539298\",\"name\":\"workflow-cz44g.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:58:40Z\",\"finishedAt\":\"2024-01-18T05:59:19Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":38,\"memory\":499},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-model-train-4d6cc04-862999513/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cz44g-862999513\"]},\"workflow-cz44g-636368654\":{\"id\":\"workflow-cz44g-636368654\",\"name\":\"workflow-cz44g.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:58:46Z\",\"finishedAt\":\"2024-01-18T05:59:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":38,\"memory\":499},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-model-train-f5e8375-636368654/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"workflow-cz44g-862999513\":{\"id\":\"workflow-cz44g-862999513\",\"name\":\"workflow-cz44g.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-cz44g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cz44g\",\"startedAt\":\"2024-01-18T05:58:40Z\",\"finishedAt\":\"2024-01-18T05:59:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":38,\"memory\":499},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cz44g/workflow-cz44g-model-train-4d6cc04-862999513/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-18 05:55:17', '2024-01-18 05:59:19', 'admin', '2024-01-18 13:55:20', 'admin', '2024-01-18 14:01:24', 0); -INSERT INTO `experiment_ins` VALUES (61, 348, 'workflow-ppxds', 'argo', 'Succeeded', '{\"workflow-ppxds\":{\"id\":\"workflow-ppxds\",\"name\":\"workflow-ppxds\",\"displayName\":\"workflow-ppxds\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T06:02:32Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-ppxds-742590120\"]},\"workflow-ppxds-1886518888\":{\"id\":\"workflow-ppxds-1886518888\",\"name\":\"workflow-ppxds.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Running\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:04:23Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-ppxds-3710087419\"]},\"workflow-ppxds-3354536904\":{\"id\":\"workflow-ppxds-3354536904\",\"name\":\"workflow-ppxds.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:03:56Z\",\"finishedAt\":\"2024-01-18T06:04:23Z\",\"progress\":\"1/3\",\"resourcesDuration\":{\"cpu\":31,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ppxds/workflow-ppxds-model-train-0798f5f-481865691/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ppxds-481865691\"]},\"workflow-ppxds-3710087419\":{\"id\":\"workflow-ppxds-3710087419\",\"name\":\"workflow-ppxds.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Running\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:04:23Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-ppxds-4121271227\":{\"id\":\"workflow-ppxds-4121271227\",\"name\":\"workflow-ppxds.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:02:32Z\",\"finishedAt\":\"2024-01-18T06:03:46Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":139,\"memory\":1457},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ppxds/workflow-ppxds-git-clone-35e4b7b7-4121271227/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ppxds-3354536904\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-ppxds-481865691\":{\"id\":\"workflow-ppxds-481865691\",\"name\":\"workflow-ppxds.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:03:56Z\",\"finishedAt\":\"2024-01-18T06:04:14Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ppxds/workflow-ppxds-model-train-0798f5f-481865691/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ppxds-50818065\",\"workflow-ppxds-1886518888\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-ppxds-50818065\":{\"id\":\"workflow-ppxds-50818065\",\"name\":\"workflow-ppxds.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Running\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:04:23Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-ppxds-597154152\"]},\"workflow-ppxds-597154152\":{\"id\":\"workflow-ppxds-597154152\",\"name\":\"workflow-ppxds.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Running\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:04:23Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-ppxds-742590120\":{\"id\":\"workflow-ppxds-742590120\",\"name\":\"workflow-ppxds.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-ppxds\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ppxds\",\"startedAt\":\"2024-01-18T06:02:32Z\",\"finishedAt\":\"2024-01-18T06:03:56Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":170,\"memory\":1833},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ppxds/workflow-ppxds-git-clone-35e4b7b7-4121271227/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ppxds-4121271227\"]}}', NULL, '2024-01-18 06:02:32', '2024-01-18 06:04:53', 'admin', '2024-01-18 14:02:36', 'admin', '2024-01-18 14:04:56', 0); -INSERT INTO `experiment_ins` VALUES (62, 348, 'workflow-zm746', 'argo', 'Succeeded', '{\"workflow-zm746\":{\"id\":\"workflow-zm746\",\"name\":\"workflow-zm746\",\"displayName\":\"workflow-zm746\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T06:09:55Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-zm746-2225630043\"]},\"workflow-zm746-1164610472\":{\"id\":\"workflow-zm746-1164610472\",\"name\":\"workflow-zm746.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Running\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:13:30Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-zm746-1949864635\"]},\"workflow-zm746-1949864635\":{\"id\":\"workflow-zm746-1949864635\",\"name\":\"workflow-zm746.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Running\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:13:30Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zm746/workflow-zm746-model-train-4d6cc04-1949864635/main.log\"}}]},\"hostNodeName\":\"k8s-master-01\"},\"workflow-zm746-2113386056\":{\"id\":\"workflow-zm746-2113386056\",\"name\":\"workflow-zm746.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Running\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:13:31Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zm746/workflow-zm746-model-train-f5e8375-2113386056/main.log\"}}]},\"hostNodeName\":\"k8s-master-01\"},\"workflow-zm746-2225630043\":{\"id\":\"workflow-zm746-2225630043\",\"name\":\"workflow-zm746.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:09:55Z\",\"finishedAt\":\"2024-01-18T06:13:00Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":376,\"memory\":4028},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zm746/workflow-zm746-git-clone-35e4b7b7-4215379670/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-zm746-4215379670\"]},\"workflow-zm746-2506629249\":{\"id\":\"workflow-zm746-2506629249\",\"name\":\"workflow-zm746.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:13:00Z\",\"finishedAt\":\"2024-01-18T06:13:30Z\",\"progress\":\"1/3\",\"resourcesDuration\":{\"cpu\":34,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zm746/workflow-zm746-model-train-0798f5f-3785656536/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-zm746-3785656536\"]},\"workflow-zm746-3758384753\":{\"id\":\"workflow-zm746-3758384753\",\"name\":\"workflow-zm746.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Running\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:13:31Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-zm746-2113386056\"]},\"workflow-zm746-3785656536\":{\"id\":\"workflow-zm746-3785656536\",\"name\":\"workflow-zm746.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:13:00Z\",\"finishedAt\":\"2024-01-18T06:13:20Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zm746/workflow-zm746-model-train-0798f5f-3785656536/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-zm746-1164610472\",\"workflow-zm746-3758384753\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-zm746-4215379670\":{\"id\":\"workflow-zm746-4215379670\",\"name\":\"workflow-zm746.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-zm746\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-zm746\",\"startedAt\":\"2024-01-18T06:09:55Z\",\"finishedAt\":\"2024-01-18T06:12:50Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":342,\"memory\":3611},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zm746/workflow-zm746-git-clone-35e4b7b7-4215379670/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-zm746-2506629249\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-18 14:09:55', '2024-01-18 14:14:03', 'admin', '2024-01-18 14:09:59', 'admin', '2024-01-18 14:14:07', 0); -INSERT INTO `experiment_ins` VALUES (63, 348, 'workflow-mvzdp', 'argo', 'Succeeded', '{\"workflow-mvzdp\":{\"id\":\"workflow-mvzdp\",\"name\":\"workflow-mvzdp\",\"displayName\":\"workflow-mvzdp\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T06:10:14Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-mvzdp-306736606\"]},\"workflow-mvzdp-1154199709\":{\"id\":\"workflow-mvzdp-1154199709\",\"name\":\"workflow-mvzdp.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Running\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:14:16Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-mvzdp-1735490122\":{\"id\":\"workflow-mvzdp-1735490122\",\"name\":\"workflow-mvzdp.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Running\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:14:16Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-mvzdp-1754663053\":{\"id\":\"workflow-mvzdp-1754663053\",\"name\":\"workflow-mvzdp.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:10:14Z\",\"finishedAt\":\"2024-01-18T06:13:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":387,\"memory\":4076},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mvzdp/workflow-mvzdp-git-clone-35e4b7b7-1754663053/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-mvzdp-3354798230\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-mvzdp-2360215150\":{\"id\":\"workflow-mvzdp-2360215150\",\"name\":\"workflow-mvzdp.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Running\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:14:16Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-mvzdp-1154199709\"]},\"workflow-mvzdp-306736606\":{\"id\":\"workflow-mvzdp-306736606\",\"name\":\"workflow-mvzdp.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:10:14Z\",\"finishedAt\":\"2024-01-18T06:13:43Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":416,\"memory\":4451},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mvzdp/workflow-mvzdp-git-clone-35e4b7b7-1754663053/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-mvzdp-1754663053\"]},\"workflow-mvzdp-3354798230\":{\"id\":\"workflow-mvzdp-3354798230\",\"name\":\"workflow-mvzdp.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:13:43Z\",\"finishedAt\":\"2024-01-18T06:14:16Z\",\"progress\":\"1/3\",\"resourcesDuration\":{\"cpu\":29,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mvzdp/workflow-mvzdp-model-train-0798f5f-3413546901/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-mvzdp-3413546901\"]},\"workflow-mvzdp-3413546901\":{\"id\":\"workflow-mvzdp-3413546901\",\"name\":\"workflow-mvzdp.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:13:43Z\",\"finishedAt\":\"2024-01-18T06:14:07Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":29,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mvzdp/workflow-mvzdp-model-train-0798f5f-3413546901/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-mvzdp-883376727\",\"workflow-mvzdp-2360215150\"],\"hostNodeName\":\"k8s-master-01\"},\"workflow-mvzdp-883376727\":{\"id\":\"workflow-mvzdp-883376727\",\"name\":\"workflow-mvzdp.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-mvzdp\",\"phase\":\"Running\",\"boundaryID\":\"workflow-mvzdp\",\"startedAt\":\"2024-01-18T06:14:16Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-mvzdp-1735490122\"]}}', NULL, '2024-01-18 14:10:14', '2024-01-18 14:14:45', 'admin', '2024-01-18 14:10:17', 'admin', '2024-01-18 14:14:48', 0); -INSERT INTO `experiment_ins` VALUES (64, 348, 'workflow-7ssxl', 'argo', 'Succeeded', '{\"workflow-7ssxl\":{\"id\":\"workflow-7ssxl\",\"name\":\"workflow-7ssxl\",\"displayName\":\"workflow-7ssxl\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T06:12:01Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-7ssxl-1811389814\"]},\"workflow-7ssxl-1521645590\":{\"id\":\"workflow-7ssxl-1521645590\",\"name\":\"workflow-7ssxl.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Running\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:15:54Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-7ssxl-3778568725\"]},\"workflow-7ssxl-1811389814\":{\"id\":\"workflow-7ssxl-1811389814\",\"name\":\"workflow-7ssxl.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:12:01Z\",\"finishedAt\":\"2024-01-18T06:15:27Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":416,\"memory\":4450},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7ssxl/workflow-7ssxl-git-clone-35e4b7b7-2744165237/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7ssxl-2744165237\"]},\"workflow-7ssxl-1987735474\":{\"id\":\"workflow-7ssxl-1987735474\",\"name\":\"workflow-7ssxl.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Running\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:15:54Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-7ssxl-2065292942\":{\"id\":\"workflow-7ssxl-2065292942\",\"name\":\"workflow-7ssxl.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:15:27Z\",\"finishedAt\":\"2024-01-18T06:15:54Z\",\"progress\":\"1/3\",\"resourcesDuration\":{\"cpu\":33,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7ssxl/workflow-7ssxl-model-train-0798f5f-3985519549/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7ssxl-3985519549\"]},\"workflow-7ssxl-2744165237\":{\"id\":\"workflow-7ssxl-2744165237\",\"name\":\"workflow-7ssxl.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:12:01Z\",\"finishedAt\":\"2024-01-18T06:15:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":383,\"memory\":4033},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7ssxl/workflow-7ssxl-git-clone-35e4b7b7-2744165237/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7ssxl-2065292942\"],\"hostNodeName\":\"k8s-node-01\"},\"workflow-7ssxl-3655569583\":{\"id\":\"workflow-7ssxl-3655569583\",\"name\":\"workflow-7ssxl.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Running\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:15:54Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-7ssxl-1987735474\"]},\"workflow-7ssxl-3778568725\":{\"id\":\"workflow-7ssxl-3778568725\",\"name\":\"workflow-7ssxl.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Running\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:15:54Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-7ssxl-3985519549\":{\"id\":\"workflow-7ssxl-3985519549\",\"name\":\"workflow-7ssxl.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-7ssxl\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7ssxl\",\"startedAt\":\"2024-01-18T06:15:27Z\",\"finishedAt\":\"2024-01-18T06:15:45Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":33,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7ssxl/workflow-7ssxl-model-train-0798f5f-3985519549/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7ssxl-3655569583\",\"workflow-7ssxl-1521645590\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-18 14:12:01', '2024-01-18 14:16:26', 'admin', '2024-01-18 14:12:04', 'admin', '2024-01-18 14:16:30', 0); -INSERT INTO `experiment_ins` VALUES (65, 348, 'workflow-95hf2', 'argo', 'Succeeded', '{\"ml-workflow\":{\"id\":\"workflow-95hf2\",\"name\":\"workflow-95hf2\",\"displayName\":\"workflow-95hf2\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-95hf2\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T07:35:58Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-95hf2-4126002561\"]},\"model-train-4d6cc04\":{\"id\":\"workflow-95hf2-3368071325\",\"name\":\"workflow-95hf2.model-train-4d6cc04(0)\",\"displayName\":\"model-train-4d6cc04(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-95hf2\",\"phase\":\"Running\",\"boundaryID\":\"workflow-95hf2\",\"startedAt\":\"2024-01-18T07:37:43Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"model-train-f5e8375\":{\"id\":\"workflow-95hf2-641386167\",\"name\":\"workflow-95hf2.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-95hf2\",\"phase\":\"Running\",\"boundaryID\":\"workflow-95hf2\",\"startedAt\":\"2024-01-18T07:37:43Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-95hf2-2288684714\"]},\"git-clone-35e4b7b7\":{\"id\":\"workflow-95hf2-4126002561\",\"name\":\"workflow-95hf2.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-95hf2\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-95hf2\",\"startedAt\":\"2024-01-18T07:35:58Z\",\"finishedAt\":\"2024-01-18T07:37:23Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":170,\"memory\":1852},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-95hf2/workflow-95hf2-git-clone-35e4b7b7-247805912/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-95hf2-247805912\"]},\"model-train-0798f5f\":{\"id\":\"workflow-95hf2-4248573767\",\"name\":\"workflow-95hf2.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-95hf2\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-95hf2\",\"startedAt\":\"2024-01-18T07:37:23Z\",\"finishedAt\":\"2024-01-18T07:37:43Z\",\"progress\":\"1/3\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-95hf2/workflow-95hf2-model-train-0798f5f-3946864506/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-95hf2-3946864506\"]}}', NULL, '2024-01-18 15:35:58', '2024-01-18 15:38:16', 'admin', '2024-01-18 15:36:01', 'admin', '2024-01-18 15:38:38', 0); -INSERT INTO `experiment_ins` VALUES (66, 348, 'workflow-bts8p', 'argo', 'Succeeded', '{\"ml-workflow\":{\"id\":\"workflow-bts8p\",\"name\":\"workflow-bts8p\",\"displayName\":\"workflow-bts8p\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-bts8p\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T07:39:38Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-bts8p-2780312994\"]},\"model-train-f5e8375\":{\"id\":\"workflow-bts8p-2051469826\",\"name\":\"workflow-bts8p.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Retry\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-bts8p\",\"phase\":\"Running\",\"boundaryID\":\"workflow-bts8p\",\"startedAt\":\"2024-01-18T07:41:33Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-bts8p-1694480761\"]},\"model-train-4d6cc04\":{\"id\":\"workflow-bts8p-3928295571\",\"name\":\"workflow-bts8p.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-bts8p\",\"phase\":\"Running\",\"boundaryID\":\"workflow-bts8p\",\"startedAt\":\"2024-01-18T07:41:33Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-bts8p-1724835486\"]},\"model-train-0798f5f\":{\"id\":\"workflow-bts8p-2576777730\",\"name\":\"workflow-bts8p.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-bts8p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bts8p\",\"startedAt\":\"2024-01-18T07:41:04Z\",\"finishedAt\":\"2024-01-18T07:41:33Z\",\"progress\":\"1/3\",\"resourcesDuration\":{\"cpu\":35,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bts8p/workflow-bts8p-model-train-0798f5f-2466179449/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bts8p-2466179449\"]},\"git-clone-35e4b7b7\":{\"id\":\"workflow-bts8p-3639370009\",\"name\":\"workflow-bts8p.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-bts8p\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bts8p\",\"startedAt\":\"2024-01-18T07:39:38Z\",\"finishedAt\":\"2024-01-18T07:40:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bts8p/workflow-bts8p-git-clone-35e4b7b7-3639370009/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bts8p-2576777730\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-18 15:39:38', '2024-01-18 15:42:04', 'admin', '2024-01-18 15:39:41', 'admin', '2024-01-18 15:42:23', 0); -INSERT INTO `experiment_ins` VALUES (67, 348, 'workflow-cjbx8', 'argo', 'Succeeded', '{\"ml-workflow\":{\"id\":\"workflow-cjbx8\",\"name\":\"workflow-cjbx8\",\"displayName\":\"workflow-cjbx8\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-cjbx8\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T07:44:49Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-cjbx8-6888392\"]},\"model-train-4d6cc04\":{\"id\":\"workflow-cjbx8-431706289\",\"name\":\"workflow-cjbx8.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Retry\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-cjbx8\",\"phase\":\"Running\",\"boundaryID\":\"workflow-cjbx8\",\"startedAt\":\"2024-01-18T07:46:39Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-cjbx8-1104746248\"]},\"model-train-f5e8375\":{\"id\":\"workflow-cjbx8-4194891547\",\"name\":\"workflow-cjbx8.model-train-f5e8375(0)\",\"displayName\":\"model-train-f5e8375(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-cjbx8\",\"phase\":\"Running\",\"boundaryID\":\"workflow-cjbx8\",\"startedAt\":\"2024-01-18T07:46:39Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"git-clone-35e4b7b7\":{\"id\":\"workflow-cjbx8-6888392\",\"name\":\"workflow-cjbx8.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Retry\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-cjbx8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cjbx8\",\"startedAt\":\"2024-01-18T07:44:49Z\",\"finishedAt\":\"2024-01-18T07:46:13Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":171,\"memory\":1873},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cjbx8/workflow-cjbx8-git-clone-35e4b7b7-1902182363/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cjbx8-1902182363\"]},\"model-train-0798f5f\":{\"id\":\"workflow-cjbx8-2864657403\",\"name\":\"workflow-cjbx8.model-train-0798f5f(0)\",\"displayName\":\"model-train-0798f5f(0)\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-cjbx8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cjbx8\",\"startedAt\":\"2024-01-18T07:46:13Z\",\"finishedAt\":\"2024-01-18T07:46:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cjbx8/workflow-cjbx8-model-train-0798f5f-2864657403/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cjbx8-431706289\",\"workflow-cjbx8-119486856\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-18 15:44:49', '2024-01-18 15:47:10', 'admin', '2024-01-18 15:44:52', 'admin', '2024-01-18 15:47:23', 0); -INSERT INTO `experiment_ins` VALUES (68, 348, 'workflow-vb7l5', 'argo', 'Succeeded', '{\"ml-workflow\":{\"id\":\"workflow-vb7l5\",\"name\":\"workflow-vb7l5\",\"displayName\":\"workflow-vb7l5\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vb7l5\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T07:56:09Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-vb7l5-3763467133\"]},\"model-train-0798f5f\":{\"id\":\"workflow-vb7l5-1622848683\",\"name\":\"workflow-vb7l5.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-vb7l5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vb7l5\",\"startedAt\":\"2024-01-18T07:57:49Z\",\"finishedAt\":\"2024-01-18T07:58:06Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":374},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vb7l5/workflow-vb7l5-model-train-0798f5f-1622848683/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vb7l5-3255901170\",\"workflow-vb7l5-2120015347\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-f5e8375\":{\"id\":\"workflow-vb7l5-2120015347\",\"name\":\"workflow-vb7l5.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-vb7l5\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vb7l5\",\"startedAt\":\"2024-01-18T07:58:09Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vb7l5/workflow-vb7l5-model-train-f5e8375-2120015347/main.log\"}}]},\"hostNodeName\":\"k8s-master-01\"},\"model-train-4d6cc04\":{\"id\":\"workflow-vb7l5-3255901170\",\"name\":\"workflow-vb7l5.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-vb7l5\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vb7l5\",\"startedAt\":\"2024-01-18T07:58:09Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"git-clone-35e4b7b7\":{\"id\":\"workflow-vb7l5-3763467133\",\"name\":\"workflow-vb7l5.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-vb7l5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vb7l5\",\"startedAt\":\"2024-01-18T07:56:09Z\",\"finishedAt\":\"2024-01-18T07:57:39Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":172,\"memory\":1795},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vb7l5/workflow-vb7l5-git-clone-35e4b7b7-3763467133/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vb7l5-1622848683\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-18 15:56:09', '2024-01-18 15:58:43', 'admin', '2024-01-18 15:56:12', 'admin', '2024-01-18 15:58:47', 0); -INSERT INTO `experiment_ins` VALUES (69, 348, 'workflow-84vnv', 'argo', 'Succeeded', '{\"ml-workflow\":{\"id\":\"workflow-84vnv\",\"name\":\"workflow-84vnv\",\"displayName\":\"workflow-84vnv\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-84vnv\",\"phase\":\"Running\",\"startedAt\":\"2024-01-18T08:23:33Z\",\"finishedAt\":null,\"progress\":\"1/2\",\"children\":[\"workflow-84vnv-2566359989\"]},\"git-clone-35e4b7b7\":{\"id\":\"workflow-84vnv-3809140756\",\"name\":\"workflow-84vnv.git-clone-35e4b7b7(0)\",\"displayName\":\"git-clone-35e4b7b7(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-84vnv\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-84vnv\",\"startedAt\":\"2024-01-18T08:23:33Z\",\"finishedAt\":\"2024-01-18T08:24:47Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-84vnv/workflow-84vnv-git-clone-35e4b7b7-3809140756/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-84vnv-94712355\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-0798f5f\":{\"id\":\"workflow-84vnv-94712355\",\"name\":\"workflow-84vnv.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Retry\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-84vnv\",\"phase\":\"Running\",\"boundaryID\":\"workflow-84vnv\",\"startedAt\":\"2024-01-18T08:24:57Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-84vnv-275569006\"]}}', NULL, '2024-01-18 16:23:33', '2024-01-18 16:25:57', 'admin', '2024-01-18 16:23:36', 'admin', '2024-01-18 16:26:06', 0); -INSERT INTO `experiment_ins` VALUES (71, 348, 'workflow-xv2kg', 'argo', 'Succeeded', '{\"ml-workflow\":{\"id\":\"workflow-xv2kg\",\"name\":\"workflow-xv2kg\",\"displayName\":\"workflow-xv2kg\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-xv2kg\",\"phase\":\"Running\",\"startedAt\":\"2024-01-19T00:49:11Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-xv2kg-1143639577\"]},\"model-train-0798f5f\":{\"id\":\"workflow-xv2kg-1140792383\",\"name\":\"workflow-xv2kg.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-xv2kg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-xv2kg\",\"startedAt\":\"2024-01-19T00:50:59Z\",\"finishedAt\":\"2024-01-19T00:51:15Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-xv2kg/workflow-xv2kg-model-train-0798f5f-1140792383/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-xv2kg-1324266534\",\"workflow-xv2kg-1915620447\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-35e4b7b7\":{\"id\":\"workflow-xv2kg-1143639577\",\"name\":\"workflow-xv2kg.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-xv2kg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-xv2kg\",\"startedAt\":\"2024-01-19T00:49:11Z\",\"finishedAt\":\"2024-01-19T00:50:49Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":184,\"memory\":1922},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-xv2kg/workflow-xv2kg-git-clone-35e4b7b7-1143639577/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-xv2kg-1140792383\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-4d6cc04\":{\"id\":\"workflow-xv2kg-1324266534\",\"name\":\"workflow-xv2kg.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-xv2kg\",\"phase\":\"Running\",\"boundaryID\":\"workflow-xv2kg\",\"startedAt\":\"2024-01-19T00:51:24Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"model-train-f5e8375\":{\"id\":\"workflow-xv2kg-1915620447\",\"name\":\"workflow-xv2kg.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-xv2kg\",\"phase\":\"Running\",\"boundaryID\":\"workflow-xv2kg\",\"startedAt\":\"2024-01-19T00:51:24Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-19 08:49:11', '2024-01-19 08:51:54', 'admin', '2024-01-19 08:49:13', 'admin', '2024-01-19 08:51:58', 0); -INSERT INTO `experiment_ins` VALUES (72, 348, 'workflow-vnt9q', 'argo', 'Succeeded', '{\"workflow-vnt9q\":{\"id\":\"workflow-vnt9q\",\"name\":\"workflow-vnt9q\",\"displayName\":\"workflow-vnt9q\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vnt9q\",\"phase\":\"Running\",\"startedAt\":\"2024-01-19T00:53:54Z\",\"finishedAt\":null,\"progress\":\"2/4\",\"children\":[\"workflow-vnt9q-3439064361\"]},\"model-train-f5e8375\":{\"id\":\"workflow-vnt9q-3318822639\",\"name\":\"workflow-vnt9q.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-vnt9q\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vnt9q\",\"startedAt\":\"2024-01-19T00:56:29Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"git-clone-35e4b7b7\":{\"id\":\"workflow-vnt9q-3439064361\",\"name\":\"workflow-vnt9q.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-vnt9q\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vnt9q\",\"startedAt\":\"2024-01-19T00:53:54Z\",\"finishedAt\":\"2024-01-19T00:55:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":230,\"memory\":2408},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vnt9q/workflow-vnt9q-git-clone-35e4b7b7-3439064361/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vnt9q-514464847\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-4d6cc04\":{\"id\":\"workflow-vnt9q-481348374\",\"name\":\"workflow-vnt9q.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-vnt9q\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vnt9q\",\"startedAt\":\"2024-01-19T00:56:29Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"model-train-0798f5f\":{\"id\":\"workflow-vnt9q-514464847\",\"name\":\"workflow-vnt9q.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-vnt9q\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vnt9q\",\"startedAt\":\"2024-01-19T00:56:03Z\",\"finishedAt\":\"2024-01-19T00:56:20Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":415},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vnt9q/workflow-vnt9q-model-train-0798f5f-514464847/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vnt9q-481348374\",\"workflow-vnt9q-3318822639\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-19 08:53:54', '2024-01-19 08:56:59', 'admin', '2024-01-19 08:53:56', 'admin', '2024-01-19 08:57:03', 0); -INSERT INTO `experiment_ins` VALUES (73, 348, 'workflow-8vzlq', 'argo', 'Failed', '{\"workflow-8vzlq\":{\"id\":\"workflow-8vzlq\",\"name\":\"workflow-8vzlq\",\"displayName\":\"workflow-8vzlq\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-8vzlq\",\"phase\":\"Running\",\"startedAt\":\"2024-01-19T02:26:03Z\",\"finishedAt\":null,\"progress\":\"1/2\",\"children\":[\"workflow-8vzlq-1138672478\"]},\"git-clone-35e4b7b7\":{\"id\":\"workflow-8vzlq-1138672478\",\"name\":\"workflow-8vzlq.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-8vzlq\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-8vzlq\",\"startedAt\":\"2024-01-19T02:26:03Z\",\"finishedAt\":\"2024-01-19T02:26:46Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":77,\"memory\":802},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-8vzlq/workflow-8vzlq-git-clone-35e4b7b7-1138672478/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-8vzlq-1470021910\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-0798f5f\":{\"id\":\"workflow-8vzlq-1470021910\",\"name\":\"workflow-8vzlq.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-8vzlq\",\"phase\":\"Pending\",\"boundaryID\":\"workflow-8vzlq\",\"startedAt\":\"2024-01-19T02:26:56Z\",\"finishedAt\":null,\"progress\":\"0/1\"}}', NULL, '2024-01-19 10:26:03', '2024-01-19 10:27:06', 'admin', '2024-01-19 10:26:05', 'admin', '2024-01-19 10:27:09', 0); -INSERT INTO `experiment_ins` VALUES (74, 348, 'workflow-2q6jm', 'argo', 'Succeeded', '{\"workflow-2q6jm\":{\"id\":\"workflow-2q6jm\",\"name\":\"workflow-2q6jm\",\"displayName\":\"workflow-2q6jm\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-2q6jm\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-22T05:53:39Z\",\"finishedAt\":\"2024-01-22T05:56:08Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":241,\"memory\":2630},\"children\":[\"workflow-2q6jm-1393951367\"],\"outboundNodes\":[\"workflow-2q6jm-3594640380\",\"workflow-2q6jm-1995803661\"]},\"git-clone-35e4b7b7\":{\"id\":\"workflow-2q6jm-1393951367\",\"name\":\"workflow-2q6jm.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-2q6jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2q6jm\",\"startedAt\":\"2024-01-22T05:53:39Z\",\"finishedAt\":\"2024-01-22T05:55:07Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":164,\"memory\":1711},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2q6jm/workflow-2q6jm-git-clone-35e4b7b7-1393951367/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-2q6jm-1776035749\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-0798f5f\":{\"id\":\"workflow-2q6jm-1776035749\",\"name\":\"workflow-2q6jm.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-2q6jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2q6jm\",\"startedAt\":\"2024-01-22T05:55:17Z\",\"finishedAt\":\"2024-01-22T05:55:37Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2q6jm/workflow-2q6jm-model-train-0798f5f-1776035749/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-2q6jm-3594640380\",\"workflow-2q6jm-1995803661\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-f5e8375\":{\"id\":\"workflow-2q6jm-1995803661\",\"name\":\"workflow-2q6jm.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-2q6jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2q6jm\",\"startedAt\":\"2024-01-22T05:55:46Z\",\"finishedAt\":\"2024-01-22T05:56:07Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":23,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2q6jm/workflow-2q6jm-model-train-f5e8375-1995803661/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-4d6cc04\":{\"id\":\"workflow-2q6jm-3594640380\",\"name\":\"workflow-2q6jm.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-2q6jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2q6jm\",\"startedAt\":\"2024-01-22T05:55:46Z\",\"finishedAt\":\"2024-01-22T05:56:02Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":24,\"memory\":292},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2q6jm/workflow-2q6jm-model-train-4d6cc04-3594640380/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-22 13:53:39', '2024-01-22 13:56:08', 'admin', '2024-01-22 13:53:40', 'admin', '2024-01-22 14:22:14', 0); -INSERT INTO `experiment_ins` VALUES (75, 348, 'workflow-5lnrj', 'argo', 'Succeeded', '{\"workflow-5lnrj\":{\"id\":\"workflow-5lnrj\",\"name\":\"workflow-5lnrj\",\"displayName\":\"workflow-5lnrj\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-5lnrj\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-22T06:22:17Z\",\"finishedAt\":\"2024-01-22T06:28:19Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":633,\"memory\":6548},\"children\":[\"workflow-5lnrj-3393703972\"],\"outboundNodes\":[\"workflow-5lnrj-2522249205\",\"workflow-5lnrj-39342564\"]},\"model-train-4d6cc04\":{\"id\":\"workflow-5lnrj-2522249205\",\"name\":\"workflow-5lnrj.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-5lnrj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5lnrj\",\"startedAt\":\"2024-01-22T06:27:33Z\",\"finishedAt\":\"2024-01-22T06:28:09Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":298},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5lnrj/workflow-5lnrj-model-train-4d6cc04-2522249205/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-35e4b7b7\":{\"id\":\"workflow-5lnrj-3393703972\",\"name\":\"workflow-5lnrj.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-5lnrj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5lnrj\",\"startedAt\":\"2024-01-22T06:22:17Z\",\"finishedAt\":\"2024-01-22T06:26:51Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":529,\"memory\":5535},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5lnrj/workflow-5lnrj-git-clone-35e4b7b7-3393703972/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-5lnrj-624427308\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-f5e8375\":{\"id\":\"workflow-5lnrj-39342564\",\"name\":\"workflow-5lnrj.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-5lnrj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5lnrj\",\"startedAt\":\"2024-01-22T06:27:33Z\",\"finishedAt\":\"2024-01-22T06:28:09Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":298},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5lnrj/workflow-5lnrj-model-train-f5e8375-39342564/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-0798f5f\":{\"id\":\"workflow-5lnrj-624427308\",\"name\":\"workflow-5lnrj.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-5lnrj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5lnrj\",\"startedAt\":\"2024-01-22T06:27:01Z\",\"finishedAt\":\"2024-01-22T06:27:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5lnrj/workflow-5lnrj-model-train-0798f5f-624427308/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-5lnrj-2522249205\",\"workflow-5lnrj-39342564\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-22 14:22:17', '2024-01-22 14:28:19', 'admin', '2024-01-22 14:22:17', 'admin', '2024-01-22 14:48:50', 0); -INSERT INTO `experiment_ins` VALUES (76, 348, 'workflow-9tjb7', 'argo', 'Succeeded', '{\"workflow-9tjb7\":{\"id\":\"workflow-9tjb7\",\"name\":\"workflow-9tjb7\",\"displayName\":\"workflow-9tjb7\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-9tjb7\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-22T07:25:12Z\",\"finishedAt\":\"2024-01-22T07:27:28Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":238,\"memory\":2508},\"children\":[\"workflow-9tjb7-3577464297\"],\"outboundNodes\":[\"workflow-9tjb7-2243376214\",\"workflow-9tjb7-4172600495\"]},\"model-train-4d6cc04\":{\"id\":\"workflow-9tjb7-2243376214\",\"name\":\"workflow-9tjb7.model-train-4d6cc04\",\"displayName\":\"model-train-4d6cc04\",\"type\":\"Pod\",\"templateName\":\"model-train-4d6cc04\",\"templateScope\":\"local/workflow-9tjb7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9tjb7\",\"startedAt\":\"2024-01-22T07:27:05Z\",\"finishedAt\":\"2024-01-22T07:27:26Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9tjb7/workflow-9tjb7-model-train-4d6cc04-2243376214/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-35e4b7b7\":{\"id\":\"workflow-9tjb7-3577464297\",\"name\":\"workflow-9tjb7.git-clone-35e4b7b7\",\"displayName\":\"git-clone-35e4b7b7\",\"type\":\"Pod\",\"templateName\":\"git-clone-35e4b7b7\",\"templateScope\":\"local/workflow-9tjb7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9tjb7\",\"startedAt\":\"2024-01-22T07:25:12Z\",\"finishedAt\":\"2024-01-22T07:26:35Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":156,\"memory\":1626},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9tjb7/workflow-9tjb7-git-clone-35e4b7b7-3577464297/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-9tjb7-3756059663\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-0798f5f\":{\"id\":\"workflow-9tjb7-3756059663\",\"name\":\"workflow-9tjb7.model-train-0798f5f\",\"displayName\":\"model-train-0798f5f\",\"type\":\"Pod\",\"templateName\":\"model-train-0798f5f\",\"templateScope\":\"local/workflow-9tjb7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9tjb7\",\"startedAt\":\"2024-01-22T07:26:45Z\",\"finishedAt\":\"2024-01-22T07:27:04Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9tjb7/workflow-9tjb7-model-train-0798f5f-3756059663/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-9tjb7-2243376214\",\"workflow-9tjb7-4172600495\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-f5e8375\":{\"id\":\"workflow-9tjb7-4172600495\",\"name\":\"workflow-9tjb7.model-train-f5e8375\",\"displayName\":\"model-train-f5e8375\",\"type\":\"Pod\",\"templateName\":\"model-train-f5e8375\",\"templateScope\":\"local/workflow-9tjb7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9tjb7\",\"startedAt\":\"2024-01-22T07:27:05Z\",\"finishedAt\":\"2024-01-22T07:27:26Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9tjb7/workflow-9tjb7-model-train-f5e8375-4172600495/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-22 15:25:12', '2024-01-22 15:27:28', 'admin', '2024-01-22 15:25:12', 'admin', '2024-01-22 15:37:31', 0); -INSERT INTO `experiment_ins` VALUES (77, 350, 'workflow-srkdp', 'argo', 'Failed', '{\"workflow-srkdp\":{\"id\":\"workflow-srkdp\",\"name\":\"workflow-srkdp\",\"displayName\":\"workflow-srkdp\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-srkdp\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T01:37:22Z\",\"finishedAt\":\"2024-01-24T01:39:01Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":154,\"memory\":1584},\"children\":[\"workflow-srkdp-2073280069\"],\"outboundNodes\":[\"workflow-srkdp-2688055206\",\"workflow-srkdp-3036811733\"]},\"model-train-7064f00\":{\"id\":\"workflow-srkdp-1055252599\",\"name\":\"workflow-srkdp.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-srkdp\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-srkdp\",\"message\":\"Error (exit code 2)\",\"startedAt\":\"2024-01-24T01:38:51Z\",\"finishedAt\":\"2024-01-24T01:38:59Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":5,\"memory\":41},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-srkdp/workflow-srkdp-model-train-7064f00-1055252599/main.log\"}}],\"exitCode\":\"2\"},\"children\":[\"workflow-srkdp-2688055206\",\"workflow-srkdp-3036811733\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-srkdp-2073280069\",\"name\":\"workflow-srkdp.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-srkdp\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-srkdp\",\"startedAt\":\"2024-01-24T01:37:22Z\",\"finishedAt\":\"2024-01-24T01:38:41Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":149,\"memory\":1543},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-srkdp/workflow-srkdp-git-clone-58252975-2073280069/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-srkdp-1055252599\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-srkdp-2688055206\",\"name\":\"workflow-srkdp.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-srkdp\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-srkdp\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:39:01Z\",\"finishedAt\":\"2024-01-24T01:39:01Z\"},\"model-train-afcf186\":{\"id\":\"workflow-srkdp-3036811733\",\"name\":\"workflow-srkdp.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-srkdp\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-srkdp\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:39:01Z\",\"finishedAt\":\"2024-01-24T01:39:01Z\"}}', NULL, '2024-01-24 09:37:22', '2024-01-24 09:39:01', 'admin', '2024-01-24 09:37:33', 'admin', '2024-01-24 09:41:38', 0); -INSERT INTO `experiment_ins` VALUES (78, 350, 'workflow-ql88g', 'argo', 'Failed', '{\"workflow-ql88g\":{\"id\":\"workflow-ql88g\",\"name\":\"workflow-ql88g\",\"displayName\":\"workflow-ql88g\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-ql88g\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T01:48:27Z\",\"finishedAt\":\"2024-01-24T01:50:50Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":212,\"memory\":2137},\"children\":[\"workflow-ql88g-1929959837\"],\"outboundNodes\":[\"workflow-ql88g-3766561502\",\"workflow-ql88g-352798237\"]},\"git-clone-58252975\":{\"id\":\"workflow-ql88g-1929959837\",\"name\":\"workflow-ql88g.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-ql88g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ql88g\",\"startedAt\":\"2024-01-24T01:48:27Z\",\"finishedAt\":\"2024-01-24T01:50:21Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":203,\"memory\":2093},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ql88g/workflow-ql88g-git-clone-58252975-1929959837/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ql88g-584140207\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-ql88g-352798237\",\"name\":\"workflow-ql88g.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-ql88g\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-ql88g\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:50:50Z\",\"finishedAt\":\"2024-01-24T01:50:50Z\"},\"model-train-7fe21e4\":{\"id\":\"workflow-ql88g-3766561502\",\"name\":\"workflow-ql88g.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-ql88g\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-ql88g\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:50:50Z\",\"finishedAt\":\"2024-01-24T01:50:50Z\"},\"model-train-7064f00\":{\"id\":\"workflow-ql88g-584140207\",\"name\":\"workflow-ql88g.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-ql88g\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-ql88g\",\"message\":\"Error (exit code 2)\",\"startedAt\":\"2024-01-24T01:50:28Z\",\"finishedAt\":\"2024-01-24T01:50:46Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":9,\"memory\":44},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ql88g/workflow-ql88g-model-train-7064f00-584140207/main.log\"}}],\"exitCode\":\"2\"},\"children\":[\"workflow-ql88g-3766561502\",\"workflow-ql88g-352798237\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-24 09:48:27', '2024-01-24 09:50:50', 'admin', '2024-01-24 09:48:30', 'admin', '2024-01-24 09:51:06', 0); -INSERT INTO `experiment_ins` VALUES (79, 350, 'workflow-zgh2s', 'argo', 'Failed', '{\"workflow-zgh2s\":{\"id\":\"workflow-zgh2s\",\"name\":\"workflow-zgh2s\",\"displayName\":\"workflow-zgh2s\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-zgh2s\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T01:53:33Z\",\"finishedAt\":\"2024-01-24T01:55:07Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":145,\"memory\":1499},\"children\":[\"workflow-zgh2s-2165276109\"],\"outboundNodes\":[\"workflow-zgh2s-2670907982\",\"workflow-zgh2s-971797869\"]},\"model-train-7064f00\":{\"id\":\"workflow-zgh2s-2114295199\",\"name\":\"workflow-zgh2s.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-zgh2s\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-zgh2s\",\"message\":\"Error (exit code 2)\",\"startedAt\":\"2024-01-24T01:54:57Z\",\"finishedAt\":\"2024-01-24T01:55:06Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":6,\"memory\":42},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zgh2s/workflow-zgh2s-model-train-7064f00-2114295199/main.log\"}}],\"exitCode\":\"2\"},\"children\":[\"workflow-zgh2s-2670907982\",\"workflow-zgh2s-971797869\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-zgh2s-2165276109\",\"name\":\"workflow-zgh2s.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-zgh2s\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-zgh2s\",\"startedAt\":\"2024-01-24T01:53:33Z\",\"finishedAt\":\"2024-01-24T01:54:47Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":139,\"memory\":1457},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-zgh2s/workflow-zgh2s-git-clone-58252975-2165276109/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-zgh2s-2114295199\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-zgh2s-2670907982\",\"name\":\"workflow-zgh2s.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-zgh2s\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-zgh2s\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:55:07Z\",\"finishedAt\":\"2024-01-24T01:55:07Z\"},\"model-train-afcf186\":{\"id\":\"workflow-zgh2s-971797869\",\"name\":\"workflow-zgh2s.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-zgh2s\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-zgh2s\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:55:07Z\",\"finishedAt\":\"2024-01-24T01:55:07Z\"}}', NULL, '2024-01-24 09:53:33', '2024-01-24 09:55:07', 'admin', '2024-01-24 09:53:37', 'admin', '2024-01-24 09:55:26', 0); -INSERT INTO `experiment_ins` VALUES (80, 350, 'workflow-bs4cq', 'argo', 'Failed', '{\"workflow-bs4cq\":{\"id\":\"workflow-bs4cq\",\"name\":\"workflow-bs4cq\",\"displayName\":\"workflow-bs4cq\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-bs4cq\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T01:55:40Z\",\"finishedAt\":\"2024-01-24T01:57:14Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":146,\"memory\":1499},\"children\":[\"workflow-bs4cq-1345468872\"],\"outboundNodes\":[\"workflow-bs4cq-3095790193\",\"workflow-bs4cq-2356603694\"]},\"git-clone-58252975\":{\"id\":\"workflow-bs4cq-1345468872\",\"name\":\"workflow-bs4cq.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-bs4cq\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bs4cq\",\"startedAt\":\"2024-01-24T01:55:40Z\",\"finishedAt\":\"2024-01-24T01:56:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":139,\"memory\":1457},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bs4cq/workflow-bs4cq-git-clone-58252975-1345468872/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bs4cq-413716424\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-bs4cq-2356603694\",\"name\":\"workflow-bs4cq.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-bs4cq\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-bs4cq\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:57:14Z\",\"finishedAt\":\"2024-01-24T01:57:14Z\"},\"model-train-7fe21e4\":{\"id\":\"workflow-bs4cq-3095790193\",\"name\":\"workflow-bs4cq.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-bs4cq\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-bs4cq\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T01:57:14Z\",\"finishedAt\":\"2024-01-24T01:57:14Z\"},\"model-train-7064f00\":{\"id\":\"workflow-bs4cq-413716424\",\"name\":\"workflow-bs4cq.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-bs4cq\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-bs4cq\",\"message\":\"Error (exit code 2)\",\"startedAt\":\"2024-01-24T01:57:04Z\",\"finishedAt\":\"2024-01-24T01:57:13Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":7,\"memory\":42},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bs4cq/workflow-bs4cq-model-train-7064f00-413716424/main.log\"}}],\"exitCode\":\"2\"},\"children\":[\"workflow-bs4cq-3095790193\",\"workflow-bs4cq-2356603694\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-24 09:55:40', '2024-01-24 09:57:14', 'admin', '2024-01-24 09:55:43', 'admin', '2024-01-24 09:58:56', 0); -INSERT INTO `experiment_ins` VALUES (81, 350, 'workflow-nzgjk', 'argo', 'Failed', '{\"workflow-nzgjk\":{\"id\":\"workflow-nzgjk\",\"name\":\"workflow-nzgjk\",\"displayName\":\"workflow-nzgjk\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-nzgjk\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T02:21:35Z\",\"finishedAt\":\"2024-01-24T02:23:24Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":148,\"memory\":1521},\"children\":[\"workflow-nzgjk-1568105953\"],\"outboundNodes\":[\"workflow-nzgjk-145385050\",\"workflow-nzgjk-187859785\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-nzgjk-145385050\",\"name\":\"workflow-nzgjk.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-nzgjk\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-nzgjk\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T02:23:24Z\",\"finishedAt\":\"2024-01-24T02:23:24Z\"},\"git-clone-58252975\":{\"id\":\"workflow-nzgjk-1568105953\",\"name\":\"workflow-nzgjk.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-nzgjk\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nzgjk\",\"startedAt\":\"2024-01-24T02:21:35Z\",\"finishedAt\":\"2024-01-24T02:22:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":144,\"memory\":1480},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nzgjk/workflow-nzgjk-git-clone-58252975-1568105953/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nzgjk-932052915\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-nzgjk-187859785\",\"name\":\"workflow-nzgjk.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-nzgjk\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-nzgjk\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-24T02:23:24Z\",\"finishedAt\":\"2024-01-24T02:23:24Z\"},\"model-train-7064f00\":{\"id\":\"workflow-nzgjk-932052915\",\"name\":\"workflow-nzgjk.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-nzgjk\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-nzgjk\",\"message\":\"Error (exit code 2)\",\"startedAt\":\"2024-01-24T02:23:03Z\",\"finishedAt\":\"2024-01-24T02:23:13Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":4,\"memory\":41},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nzgjk/workflow-nzgjk-model-train-7064f00-932052915/main.log\"}}],\"exitCode\":\"2\"},\"children\":[\"workflow-nzgjk-145385050\",\"workflow-nzgjk-187859785\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-24 10:21:35', '2024-01-24 10:23:24', 'admin', '2024-01-24 10:21:39', 'admin', '2024-01-24 10:31:20', 0); -INSERT INTO `experiment_ins` VALUES (82, 350, 'workflow-cln5w', 'argo', 'Failed', '{\"workflow-cln5w\":{\"id\":\"workflow-cln5w\",\"name\":\"workflow-cln5w\",\"displayName\":\"workflow-cln5w\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-cln5w\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T05:50:28Z\",\"finishedAt\":\"2024-01-24T05:52:56Z\",\"progress\":\"2/4\",\"resourcesDuration\":{\"cpu\":199,\"memory\":2187},\"children\":[\"workflow-cln5w-2580362250\"],\"outboundNodes\":[\"workflow-cln5w-166980355\",\"workflow-cln5w-2436397060\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-cln5w-166980355\",\"name\":\"workflow-cln5w.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-cln5w\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-cln5w\",\"message\":\"Error (exit code 64): failed to find name in PATH: exec: \\\"--dataset=/workflow-cln5w/dataset/MnistDataset_torch.zip\\\": stat --dataset=/workflow-cln5w/dataset/MnistDataset_torch.zip: no such file or directory\",\"startedAt\":\"2024-01-24T05:52:30Z\",\"finishedAt\":\"2024-01-24T05:52:42Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":2,\"memory\":1},\"outputs\":{\"exitCode\":\"64\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-cln5w-2026228698\",\"name\":\"workflow-cln5w.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-cln5w\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cln5w\",\"startedAt\":\"2024-01-24T05:52:03Z\",\"finishedAt\":\"2024-01-24T05:52:20Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cln5w/workflow-cln5w-model-train-7064f00-2026228698/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cln5w-166980355\",\"workflow-cln5w-2436397060\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-cln5w-2436397060\",\"name\":\"workflow-cln5w.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-cln5w\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-cln5w\",\"message\":\"Error (exit code 1)\",\"startedAt\":\"2024-01-24T05:52:30Z\",\"finishedAt\":\"2024-01-24T05:52:47Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":6,\"memory\":122},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cln5w/workflow-cln5w-model-train-afcf186-2436397060/main.log\"}}],\"exitCode\":\"1\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-cln5w-2580362250\",\"name\":\"workflow-cln5w.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-cln5w\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-cln5w\",\"startedAt\":\"2024-01-24T05:50:28Z\",\"finishedAt\":\"2024-01-24T05:51:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":161,\"memory\":1689},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-cln5w/workflow-cln5w-git-clone-58252975-2580362250/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-cln5w-2026228698\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-24 13:50:28', '2024-01-24 13:52:56', 'admin', '2024-01-24 13:50:31', 'admin', '2024-01-24 13:59:53', 0); -INSERT INTO `experiment_ins` VALUES (83, 350, 'workflow-gwgcd', 'argo', 'Failed', '{\"workflow-gwgcd\":{\"id\":\"workflow-gwgcd\",\"name\":\"workflow-gwgcd\",\"displayName\":\"workflow-gwgcd\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-gwgcd\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T05:59:51Z\",\"finishedAt\":\"2024-01-24T06:02:14Z\",\"progress\":\"3/4\",\"resourcesDuration\":{\"cpu\":200,\"memory\":2147},\"children\":[\"workflow-gwgcd-3052277803\"],\"outboundNodes\":[\"workflow-gwgcd-3136026492\",\"workflow-gwgcd-2296769791\"]},\"model-train-7064f00\":{\"id\":\"workflow-gwgcd-1237614669\",\"name\":\"workflow-gwgcd.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-gwgcd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-gwgcd\",\"startedAt\":\"2024-01-24T06:01:14Z\",\"finishedAt\":\"2024-01-24T06:01:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-gwgcd/workflow-gwgcd-model-train-7064f00-1237614669/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-gwgcd-3136026492\",\"workflow-gwgcd-2296769791\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-gwgcd-2296769791\",\"name\":\"workflow-gwgcd.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-gwgcd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-gwgcd\",\"startedAt\":\"2024-01-24T06:01:42Z\",\"finishedAt\":\"2024-01-24T06:02:02Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":293},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-gwgcd/workflow-gwgcd-model-train-afcf186-2296769791/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-gwgcd-3052277803\",\"name\":\"workflow-gwgcd.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-gwgcd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-gwgcd\",\"startedAt\":\"2024-01-24T05:59:51Z\",\"finishedAt\":\"2024-01-24T06:01:04Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-gwgcd/workflow-gwgcd-git-clone-58252975-3052277803/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-gwgcd-1237614669\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-gwgcd-3136026492\",\"name\":\"workflow-gwgcd.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-gwgcd\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-gwgcd\",\"message\":\"Error (exit code 64): failed to find name in PATH: exec: \\\"--dataset=/workflow-gwgcd/dataset/MnistDataset_torch.zip\\\": stat --dataset=/workflow-gwgcd/dataset/MnistDataset_torch.zip: no such file or directory\",\"startedAt\":\"2024-01-24T06:01:42Z\",\"finishedAt\":\"2024-01-24T06:01:50Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":2,\"memory\":1},\"outputs\":{\"exitCode\":\"64\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-24 13:59:51', '2024-01-24 14:02:14', 'admin', '2024-01-24 13:59:54', 'admin', '2024-01-24 14:03:18', 0); -INSERT INTO `experiment_ins` VALUES (84, 350, 'workflow-xqcwz', 'argo', 'Failed', '{\"workflow-xqcwz\":{\"id\":\"workflow-xqcwz\",\"name\":\"workflow-xqcwz\",\"displayName\":\"workflow-xqcwz\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-xqcwz\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-24T06:38:20Z\",\"finishedAt\":\"2024-01-24T06:40:32Z\",\"progress\":\"3/4\",\"resourcesDuration\":{\"cpu\":195,\"memory\":2065},\"children\":[\"workflow-xqcwz-2297266756\"],\"outboundNodes\":[\"workflow-xqcwz-1807568181\",\"workflow-xqcwz-2875005138\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-xqcwz-1807568181\",\"name\":\"workflow-xqcwz.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-xqcwz\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-xqcwz\",\"message\":\"Error (exit code 64): failed to find name in PATH: exec: \\\"--dataset=/workflow-xqcwz/dataset/MnistDataset_torch.zip\\\": stat --dataset=/workflow-xqcwz/dataset/MnistDataset_torch.zip: no such file or directory\",\"startedAt\":\"2024-01-24T06:40:12Z\",\"finishedAt\":\"2024-01-24T06:40:21Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":3,\"memory\":1},\"outputs\":{\"exitCode\":\"64\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-xqcwz-2297266756\",\"name\":\"workflow-xqcwz.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-xqcwz\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-xqcwz\",\"startedAt\":\"2024-01-24T06:38:20Z\",\"finishedAt\":\"2024-01-24T06:39:34Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":139,\"memory\":1437},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-xqcwz/workflow-xqcwz-git-clone-58252975-2297266756/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-xqcwz-253089172\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-xqcwz-253089172\",\"name\":\"workflow-xqcwz.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-xqcwz\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-xqcwz\",\"startedAt\":\"2024-01-24T06:39:43Z\",\"finishedAt\":\"2024-01-24T06:40:03Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-xqcwz/workflow-xqcwz-model-train-7064f00-253089172/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-xqcwz-1807568181\",\"workflow-xqcwz-2875005138\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-xqcwz-2875005138\",\"name\":\"workflow-xqcwz.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-xqcwz\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-xqcwz\",\"startedAt\":\"2024-01-24T06:40:12Z\",\"finishedAt\":\"2024-01-24T06:40:31Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":22,\"memory\":251},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-xqcwz/workflow-xqcwz-model-train-afcf186-2875005138/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-24 14:38:20', '2024-01-24 14:40:32', 'admin', '2024-01-24 14:38:23', 'admin', '2024-01-24 14:42:14', 0); -INSERT INTO `experiment_ins` VALUES (85, 350, 'workflow-7v558', 'argo', 'Succeeded', '{\"workflow-7v558\":{\"id\":\"workflow-7v558\",\"name\":\"workflow-7v558\",\"displayName\":\"workflow-7v558\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-7v558\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-24T06:42:35Z\",\"finishedAt\":\"2024-01-24T06:44:56Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":221,\"memory\":2358},\"children\":[\"workflow-7v558-1697077000\"],\"outboundNodes\":[\"workflow-7v558-3137130673\",\"workflow-7v558-3396426222\"]},\"git-clone-58252975\":{\"id\":\"workflow-7v558-1697077000\",\"name\":\"workflow-7v558.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-7v558\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7v558\",\"startedAt\":\"2024-01-24T06:42:35Z\",\"finishedAt\":\"2024-01-24T06:43:49Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7v558/workflow-7v558-git-clone-58252975-1697077000/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7v558-3476072712\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-7v558-3137130673\",\"name\":\"workflow-7v558.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-7v558\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7v558\",\"startedAt\":\"2024-01-24T06:44:27Z\",\"finishedAt\":\"2024-01-24T06:44:46Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7v558/workflow-7v558-model-train-7fe21e4-3137130673/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-7v558-3396426222\",\"name\":\"workflow-7v558.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-7v558\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7v558\",\"startedAt\":\"2024-01-24T06:44:27Z\",\"finishedAt\":\"2024-01-24T06:44:46Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":24,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7v558/workflow-7v558-model-train-afcf186-3396426222/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-7v558-3476072712\",\"name\":\"workflow-7v558.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-7v558\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7v558\",\"startedAt\":\"2024-01-24T06:43:59Z\",\"finishedAt\":\"2024-01-24T06:44:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7v558/workflow-7v558-model-train-7064f00-3476072712/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7v558-3137130673\",\"workflow-7v558-3396426222\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-24 14:42:35', '2024-01-24 14:44:56', 'admin', '2024-01-24 14:42:38', 'admin', '2024-01-24 14:47:19', 0); -INSERT INTO `experiment_ins` VALUES (86, 350, 'workflow-k6p67', 'argo', 'Succeeded', '{\"workflow-k6p67\":{\"id\":\"workflow-k6p67\",\"name\":\"workflow-k6p67\",\"displayName\":\"workflow-k6p67\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-k6p67\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T00:51:23Z\",\"finishedAt\":\"2024-01-25T00:53:58Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":241,\"memory\":2550},\"children\":[\"workflow-k6p67-1814369963\"],\"outboundNodes\":[\"workflow-k6p67-327889660\",\"workflow-k6p67-3783600255\"]},\"git-clone-58252975\":{\"id\":\"workflow-k6p67-1814369963\",\"name\":\"workflow-k6p67.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-k6p67\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-k6p67\",\"startedAt\":\"2024-01-25T00:51:23Z\",\"finishedAt\":\"2024-01-25T00:52:46Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":156,\"memory\":1626},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-k6p67/workflow-k6p67-git-clone-58252975-1814369963/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-k6p67-2724445133\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-k6p67-2724445133\",\"name\":\"workflow-k6p67.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-k6p67\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-k6p67\",\"startedAt\":\"2024-01-25T00:52:56Z\",\"finishedAt\":\"2024-01-25T00:53:16Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":418},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-k6p67/workflow-k6p67-model-train-7064f00-2724445133/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-k6p67-327889660\",\"workflow-k6p67-3783600255\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-k6p67-327889660\",\"name\":\"workflow-k6p67.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-k6p67\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-k6p67\",\"startedAt\":\"2024-01-25T00:53:26Z\",\"finishedAt\":\"2024-01-25T00:53:48Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-k6p67/workflow-k6p67-model-train-7fe21e4-327889660/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-k6p67-3783600255\",\"name\":\"workflow-k6p67.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-k6p67\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-k6p67\",\"startedAt\":\"2024-01-25T00:53:26Z\",\"finishedAt\":\"2024-01-25T00:53:48Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-k6p67/workflow-k6p67-model-train-afcf186-3783600255/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 08:51:23', '2024-01-25 08:53:58', 'admin', '2024-01-25 08:51:27', 'admin', '2024-01-25 08:54:08', 0); -INSERT INTO `experiment_ins` VALUES (87, 350, 'workflow-7g9kj', 'argo', 'Succeeded', '{\"workflow-7g9kj\":{\"id\":\"workflow-7g9kj\",\"name\":\"workflow-7g9kj\",\"displayName\":\"workflow-7g9kj\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-7g9kj\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T01:13:47Z\",\"finishedAt\":\"2024-01-25T01:16:03Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":224,\"memory\":2401},\"children\":[\"workflow-7g9kj-2861213695\"],\"outboundNodes\":[\"workflow-7g9kj-2952971864\",\"workflow-7g9kj-3600559275\"]},\"model-train-7064f00\":{\"id\":\"workflow-7g9kj-16052321\",\"name\":\"workflow-7g9kj.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-7g9kj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7g9kj\",\"startedAt\":\"2024-01-25T01:15:11Z\",\"finishedAt\":\"2024-01-25T01:15:31Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":33,\"memory\":377},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7g9kj/workflow-7g9kj-model-train-7064f00-16052321/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7g9kj-2952971864\",\"workflow-7g9kj-3600559275\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-7g9kj-2861213695\",\"name\":\"workflow-7g9kj.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-7g9kj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7g9kj\",\"startedAt\":\"2024-01-25T01:13:47Z\",\"finishedAt\":\"2024-01-25T01:15:01Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7g9kj/workflow-7g9kj-git-clone-58252975-2861213695/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7g9kj-16052321\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-7g9kj-2952971864\",\"name\":\"workflow-7g9kj.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-7g9kj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7g9kj\",\"startedAt\":\"2024-01-25T01:15:31Z\",\"finishedAt\":\"2024-01-25T01:15:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7g9kj/workflow-7g9kj-model-train-7fe21e4-2952971864/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-7g9kj-3600559275\",\"name\":\"workflow-7g9kj.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-7g9kj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7g9kj\",\"startedAt\":\"2024-01-25T01:15:31Z\",\"finishedAt\":\"2024-01-25T01:15:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7g9kj/workflow-7g9kj-model-train-afcf186-3600559275/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 09:13:47', '2024-01-25 09:16:03', 'admin', '2024-01-25 09:13:52', 'admin', '2024-01-25 09:17:20', 0); -INSERT INTO `experiment_ins` VALUES (88, 350, 'workflow-9lbgp', 'argo', 'Succeeded', '{\"workflow-9lbgp\":{\"id\":\"workflow-9lbgp\",\"name\":\"workflow-9lbgp\",\"displayName\":\"workflow-9lbgp\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-9lbgp\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T01:17:20Z\",\"finishedAt\":\"2024-01-25T01:18:35Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":139,\"memory\":1457},\"children\":[\"workflow-9lbgp-3441363877\"],\"outboundNodes\":[\"workflow-9lbgp-1051056646\",\"workflow-9lbgp-2429941301\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-9lbgp-1051056646\",\"name\":\"workflow-9lbgp.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-9lbgp\",\"phase\":\"Skipped\",\"boundaryID\":\"workflow-9lbgp\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T01:18:35Z\",\"finishedAt\":\"2024-01-25T01:18:35Z\",\"progress\":\"1/1\"},\"model-train-afcf186\":{\"id\":\"workflow-9lbgp-2429941301\",\"name\":\"workflow-9lbgp.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-9lbgp\",\"phase\":\"Skipped\",\"boundaryID\":\"workflow-9lbgp\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T01:18:35Z\",\"finishedAt\":\"2024-01-25T01:18:35Z\",\"progress\":\"1/1\"},\"model-train-7064f00\":{\"id\":\"workflow-9lbgp-3418061399\",\"name\":\"workflow-9lbgp.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-9lbgp\",\"phase\":\"Skipped\",\"boundaryID\":\"workflow-9lbgp\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T01:18:35Z\",\"finishedAt\":\"2024-01-25T01:18:35Z\",\"progress\":\"1/1\",\"children\":[\"workflow-9lbgp-1051056646\",\"workflow-9lbgp-2429941301\"]},\"git-clone-58252975\":{\"id\":\"workflow-9lbgp-3441363877\",\"name\":\"workflow-9lbgp.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-9lbgp\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9lbgp\",\"startedAt\":\"2024-01-25T01:17:20Z\",\"finishedAt\":\"2024-01-25T01:18:34Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":139,\"memory\":1457},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9lbgp/workflow-9lbgp-git-clone-58252975-3441363877/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-9lbgp-3418061399\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-25 09:17:20', '2024-01-25 09:18:35', 'admin', '2024-01-25 09:17:25', 'admin', '2024-01-25 09:19:29', 0); -INSERT INTO `experiment_ins` VALUES (89, 350, 'workflow-9569f', 'argo', 'Succeeded', '{\"workflow-9569f\":{\"id\":\"workflow-9569f\",\"name\":\"workflow-9569f\",\"displayName\":\"workflow-9569f\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-9569f\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T01:34:06Z\",\"finishedAt\":\"2024-01-25T01:38:02Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":429,\"memory\":4515},\"children\":[\"workflow-9569f-2871002694\"],\"outboundNodes\":[\"workflow-9569f-2669171511\",\"workflow-9569f-3926960696\"]},\"model-train-7064f00\":{\"id\":\"workflow-9569f-1833159430\",\"name\":\"workflow-9569f.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-9569f\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9569f\",\"startedAt\":\"2024-01-25T01:37:11Z\",\"finishedAt\":\"2024-01-25T01:37:28Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9569f/workflow-9569f-model-train-7064f00-1833159430/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-9569f-2669171511\",\"workflow-9569f-3926960696\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-9569f-2669171511\",\"name\":\"workflow-9569f.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-9569f\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9569f\",\"startedAt\":\"2024-01-25T01:37:32Z\",\"finishedAt\":\"2024-01-25T01:37:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9569f/workflow-9569f-model-train-7fe21e4-2669171511/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-9569f-2871002694\",\"name\":\"workflow-9569f.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-9569f\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9569f\",\"startedAt\":\"2024-01-25T01:34:06Z\",\"finishedAt\":\"2024-01-25T01:37:01Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":342,\"memory\":3591},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9569f/workflow-9569f-git-clone-58252975-2871002694/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-9569f-1833159430\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-9569f-3926960696\",\"name\":\"workflow-9569f.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-9569f\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-9569f\",\"startedAt\":\"2024-01-25T01:37:32Z\",\"finishedAt\":\"2024-01-25T01:37:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":29,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-9569f/workflow-9569f-model-train-afcf186-3926960696/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 09:34:06', '2024-01-25 09:38:02', 'admin', '2024-01-25 09:34:10', 'admin', '2024-01-25 09:39:09', 0); -INSERT INTO `experiment_ins` VALUES (90, 350, 'workflow-w99b5', 'argo', 'Succeeded', '{\"workflow-w99b5\":{\"id\":\"workflow-w99b5\",\"name\":\"workflow-w99b5\",\"displayName\":\"workflow-w99b5\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-w99b5\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T01:42:37Z\",\"finishedAt\":\"2024-01-25T01:52:32Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":1112,\"memory\":11798},\"children\":[\"workflow-w99b5-2057966001\"],\"outboundNodes\":[\"workflow-w99b5-3861117674\",\"workflow-w99b5-4189640953\"]},\"git-clone-58252975\":{\"id\":\"workflow-w99b5-2057966001\",\"name\":\"workflow-w99b5.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-w99b5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w99b5\",\"startedAt\":\"2024-01-25T01:42:37Z\",\"finishedAt\":\"2024-01-25T01:51:16Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":1028,\"memory\":10835},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w99b5/workflow-w99b5-git-clone-58252975-2057966001/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-w99b5-3392478147\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-w99b5-3392478147\",\"name\":\"workflow-w99b5.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-w99b5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w99b5\",\"startedAt\":\"2024-01-25T01:51:26Z\",\"finishedAt\":\"2024-01-25T01:51:50Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":33,\"memory\":377},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w99b5/workflow-w99b5-model-train-7064f00-3392478147/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-w99b5-3861117674\",\"workflow-w99b5-4189640953\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-w99b5-3861117674\",\"name\":\"workflow-w99b5.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-w99b5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w99b5\",\"startedAt\":\"2024-01-25T01:51:59Z\",\"finishedAt\":\"2024-01-25T01:52:22Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":293},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w99b5/workflow-w99b5-model-train-7fe21e4-3861117674/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-w99b5-4189640953\",\"name\":\"workflow-w99b5.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-w99b5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w99b5\",\"startedAt\":\"2024-01-25T01:51:59Z\",\"finishedAt\":\"2024-01-25T01:52:22Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":293},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w99b5/workflow-w99b5-model-train-afcf186-4189640953/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 09:42:37', '2024-01-25 09:52:32', 'admin', '2024-01-25 09:42:42', 'admin', '2024-01-25 09:56:30', 0); -INSERT INTO `experiment_ins` VALUES (91, 350, 'workflow-vls6g', 'argo', 'Succeeded', '{\"workflow-vls6g\":{\"id\":\"workflow-vls6g\",\"name\":\"workflow-vls6g\",\"displayName\":\"workflow-vls6g\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vls6g\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T01:43:17Z\",\"finishedAt\":\"2024-01-25T01:52:52Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":1069,\"memory\":11354},\"children\":[\"workflow-vls6g-2487770835\"],\"outboundNodes\":[\"workflow-vls6g-3037103812\",\"workflow-vls6g-89328727\"]},\"model-train-7064f00\":{\"id\":\"workflow-vls6g-2008920661\",\"name\":\"workflow-vls6g.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-vls6g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vls6g\",\"startedAt\":\"2024-01-25T01:51:48Z\",\"finishedAt\":\"2024-01-25T01:52:06Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vls6g/workflow-vls6g-model-train-7064f00-2008920661/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vls6g-3037103812\",\"workflow-vls6g-89328727\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-vls6g-2487770835\",\"name\":\"workflow-vls6g.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-vls6g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vls6g\",\"startedAt\":\"2024-01-25T01:43:17Z\",\"finishedAt\":\"2024-01-25T01:51:38Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":993,\"memory\":10476},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vls6g/workflow-vls6g-git-clone-58252975-2487770835/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vls6g-2008920661\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-vls6g-3037103812\",\"name\":\"workflow-vls6g.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-vls6g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vls6g\",\"startedAt\":\"2024-01-25T01:52:09Z\",\"finishedAt\":\"2024-01-25T01:52:41Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vls6g/workflow-vls6g-model-train-7fe21e4-3037103812/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-vls6g-89328727\",\"name\":\"workflow-vls6g.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-vls6g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vls6g\",\"startedAt\":\"2024-01-25T01:52:09Z\",\"finishedAt\":\"2024-01-25T01:52:35Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":20,\"memory\":250},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vls6g/workflow-vls6g-model-train-afcf186-89328727/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 09:43:17', '2024-01-25 09:52:52', 'admin', '2024-01-25 09:43:21', 'admin', '2024-01-25 09:57:47', 0); -INSERT INTO `experiment_ins` VALUES (92, 350, 'workflow-nc6d6', 'argo', 'Succeeded', '{\"workflow-nc6d6\":{\"id\":\"workflow-nc6d6\",\"name\":\"workflow-nc6d6\",\"displayName\":\"workflow-nc6d6\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-nc6d6\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T01:57:47Z\",\"finishedAt\":\"2024-01-25T02:00:11Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":223,\"memory\":2380},\"children\":[\"workflow-nc6d6-1366669332\"],\"outboundNodes\":[\"workflow-nc6d6-3822650949\",\"workflow-nc6d6-1661923586\"]},\"git-clone-58252975\":{\"id\":\"workflow-nc6d6-1366669332\",\"name\":\"workflow-nc6d6.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-nc6d6\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nc6d6\",\"startedAt\":\"2024-01-25T01:57:47Z\",\"finishedAt\":\"2024-01-25T01:59:00Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":135,\"memory\":1415},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nc6d6/workflow-nc6d6-git-clone-58252975-1366669332/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nc6d6-2371453540\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-nc6d6-1661923586\",\"name\":\"workflow-nc6d6.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-nc6d6\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nc6d6\",\"startedAt\":\"2024-01-25T01:59:39Z\",\"finishedAt\":\"2024-01-25T02:00:02Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nc6d6/workflow-nc6d6-model-train-afcf186-1661923586/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-nc6d6-2371453540\",\"name\":\"workflow-nc6d6.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-nc6d6\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nc6d6\",\"startedAt\":\"2024-01-25T01:59:10Z\",\"finishedAt\":\"2024-01-25T01:59:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nc6d6/workflow-nc6d6-model-train-7064f00-2371453540/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nc6d6-3822650949\",\"workflow-nc6d6-1661923586\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-nc6d6-3822650949\",\"name\":\"workflow-nc6d6.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-nc6d6\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nc6d6\",\"startedAt\":\"2024-01-25T01:59:39Z\",\"finishedAt\":\"2024-01-25T02:00:02Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nc6d6/workflow-nc6d6-model-train-7fe21e4-3822650949/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 09:57:47', '2024-01-25 10:00:11', 'admin', '2024-01-25 09:57:51', 'admin', '2024-01-25 10:00:26', 0); -INSERT INTO `experiment_ins` VALUES (93, 350, 'workflow-dxst9', 'argo', 'Succeeded', '{\"workflow-dxst9\":{\"id\":\"workflow-dxst9\",\"name\":\"workflow-dxst9\",\"displayName\":\"workflow-dxst9\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-dxst9\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:00:40Z\",\"finishedAt\":\"2024-01-25T02:03:03Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":223,\"memory\":2420},\"children\":[\"workflow-dxst9-2315949557\"],\"outboundNodes\":[\"workflow-dxst9-3827198166\",\"workflow-dxst9-1348691365\"]},\"model-train-afcf186\":{\"id\":\"workflow-dxst9-1348691365\",\"name\":\"workflow-dxst9.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-dxst9\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dxst9\",\"startedAt\":\"2024-01-25T02:02:31Z\",\"finishedAt\":\"2024-01-25T02:02:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":24,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dxst9/workflow-dxst9-model-train-afcf186-1348691365/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-dxst9-2315949557\",\"name\":\"workflow-dxst9.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-dxst9\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dxst9\",\"startedAt\":\"2024-01-25T02:00:40Z\",\"finishedAt\":\"2024-01-25T02:01:55Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":140,\"memory\":1458},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dxst9/workflow-dxst9-git-clone-58252975-2315949557/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-dxst9-450462311\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-dxst9-3827198166\",\"name\":\"workflow-dxst9.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-dxst9\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dxst9\",\"startedAt\":\"2024-01-25T02:02:31Z\",\"finishedAt\":\"2024-01-25T02:02:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dxst9/workflow-dxst9-model-train-7fe21e4-3827198166/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-dxst9-450462311\",\"name\":\"workflow-dxst9.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-dxst9\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dxst9\",\"startedAt\":\"2024-01-25T02:02:05Z\",\"finishedAt\":\"2024-01-25T02:02:22Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dxst9/workflow-dxst9-model-train-7064f00-450462311/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-dxst9-3827198166\",\"workflow-dxst9-1348691365\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:00:40', '2024-01-25 10:03:03', 'admin', '2024-01-25 10:00:44', 'admin', '2024-01-25 10:05:21', 0); -INSERT INTO `experiment_ins` VALUES (94, 350, 'workflow-nqqvv', 'argo', 'Succeeded', '{\"workflow-nqqvv\":{\"id\":\"workflow-nqqvv\",\"name\":\"workflow-nqqvv\",\"displayName\":\"workflow-nqqvv\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-nqqvv\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:05:19Z\",\"finishedAt\":\"2024-01-25T02:07:45Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":230,\"memory\":2384},\"children\":[\"workflow-nqqvv-3228662431\"],\"outboundNodes\":[\"workflow-nqqvv-2814760952\",\"workflow-nqqvv-4007937611\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-nqqvv-2814760952\",\"name\":\"workflow-nqqvv.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-nqqvv\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nqqvv\",\"startedAt\":\"2024-01-25T02:07:14Z\",\"finishedAt\":\"2024-01-25T02:07:36Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nqqvv/workflow-nqqvv-model-train-7fe21e4-2814760952/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-nqqvv-3228662431\",\"name\":\"workflow-nqqvv.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-nqqvv\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nqqvv\",\"startedAt\":\"2024-01-25T02:05:19Z\",\"finishedAt\":\"2024-01-25T02:06:36Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":144,\"memory\":1500},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nqqvv/workflow-nqqvv-git-clone-58252975-3228662431/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nqqvv-3843331329\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-nqqvv-3843331329\",\"name\":\"workflow-nqqvv.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-nqqvv\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nqqvv\",\"startedAt\":\"2024-01-25T02:06:46Z\",\"finishedAt\":\"2024-01-25T02:07:04Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nqqvv/workflow-nqqvv-model-train-7064f00-3843331329/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nqqvv-2814760952\",\"workflow-nqqvv-4007937611\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-nqqvv-4007937611\",\"name\":\"workflow-nqqvv.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-nqqvv\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nqqvv\",\"startedAt\":\"2024-01-25T02:07:14Z\",\"finishedAt\":\"2024-01-25T02:07:36Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nqqvv/workflow-nqqvv-model-train-afcf186-4007937611/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:05:19', '2024-01-25 10:07:45', 'admin', '2024-01-25 10:05:23', 'admin', '2024-01-25 10:08:10', 0); -INSERT INTO `experiment_ins` VALUES (95, 350, 'workflow-frkg5', 'argo', 'Succeeded', '{\"workflow-frkg5\":{\"id\":\"workflow-frkg5\",\"name\":\"workflow-frkg5\",\"displayName\":\"workflow-frkg5\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-frkg5\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:06:23Z\",\"finishedAt\":\"2024-01-25T02:08:58Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":236,\"memory\":2429},\"children\":[\"workflow-frkg5-4281602600\"],\"outboundNodes\":[\"workflow-frkg5-3900716241\",\"workflow-frkg5-993309326\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-frkg5-3900716241\",\"name\":\"workflow-frkg5.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-frkg5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-frkg5\",\"startedAt\":\"2024-01-25T02:08:25Z\",\"finishedAt\":\"2024-01-25T02:08:48Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-frkg5/workflow-frkg5-model-train-7fe21e4-3900716241/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-frkg5-4281602600\",\"name\":\"workflow-frkg5.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-frkg5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-frkg5\",\"startedAt\":\"2024-01-25T02:06:23Z\",\"finishedAt\":\"2024-01-25T02:07:48Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":150,\"memory\":1544},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-frkg5/workflow-frkg5-git-clone-58252975-4281602600/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-frkg5-985676968\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-frkg5-985676968\",\"name\":\"workflow-frkg5.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-frkg5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-frkg5\",\"startedAt\":\"2024-01-25T02:07:57Z\",\"finishedAt\":\"2024-01-25T02:08:15Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-frkg5/workflow-frkg5-model-train-7064f00-985676968/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-frkg5-3900716241\",\"workflow-frkg5-993309326\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-frkg5-993309326\",\"name\":\"workflow-frkg5.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-frkg5\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-frkg5\",\"startedAt\":\"2024-01-25T02:08:25Z\",\"finishedAt\":\"2024-01-25T02:08:48Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-frkg5/workflow-frkg5-model-train-afcf186-993309326/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:06:23', '2024-01-25 10:08:58', 'admin', '2024-01-25 10:06:27', 'admin', '2024-01-25 10:11:02', 0); -INSERT INTO `experiment_ins` VALUES (96, 350, 'workflow-5x4hb', 'argo', 'Succeeded', '{\"workflow-5x4hb\":{\"id\":\"workflow-5x4hb\",\"name\":\"workflow-5x4hb\",\"displayName\":\"workflow-5x4hb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-5x4hb\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:12:47Z\",\"finishedAt\":\"2024-01-25T02:15:04Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":221,\"memory\":2358},\"children\":[\"workflow-5x4hb-669312204\"],\"outboundNodes\":[\"workflow-5x4hb-2373399837\",\"workflow-5x4hb-2566522794\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-5x4hb-2373399837\",\"name\":\"workflow-5x4hb.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-5x4hb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5x4hb\",\"startedAt\":\"2024-01-25T02:14:39Z\",\"finishedAt\":\"2024-01-25T02:14:55Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":23,\"memory\":251},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5x4hb/workflow-5x4hb-model-train-7fe21e4-2373399837/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-5x4hb-2566522794\",\"name\":\"workflow-5x4hb.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-5x4hb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5x4hb\",\"startedAt\":\"2024-01-25T02:14:39Z\",\"finishedAt\":\"2024-01-25T02:15:02Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5x4hb/workflow-5x4hb-model-train-afcf186-2566522794/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-5x4hb-669312204\",\"name\":\"workflow-5x4hb.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-5x4hb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5x4hb\",\"startedAt\":\"2024-01-25T02:12:47Z\",\"finishedAt\":\"2024-01-25T02:14:02Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":141,\"memory\":1478},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5x4hb/workflow-5x4hb-git-clone-58252975-669312204/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-5x4hb-763187708\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-5x4hb-763187708\",\"name\":\"workflow-5x4hb.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-5x4hb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-5x4hb\",\"startedAt\":\"2024-01-25T02:14:12Z\",\"finishedAt\":\"2024-01-25T02:14:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-5x4hb/workflow-5x4hb-model-train-7064f00-763187708/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-5x4hb-2373399837\",\"workflow-5x4hb-2566522794\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:12:47', '2024-01-25 10:15:04', 'admin', '2024-01-25 10:12:51', 'admin', '2024-01-25 10:16:11', 0); -INSERT INTO `experiment_ins` VALUES (97, 350, 'workflow-lg2zb', 'argo', 'Succeeded', '{\"workflow-lg2zb\":{\"id\":\"workflow-lg2zb\",\"name\":\"workflow-lg2zb\",\"displayName\":\"workflow-lg2zb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-lg2zb\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:16:09Z\",\"finishedAt\":\"2024-01-25T02:18:41Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":231,\"memory\":2445},\"children\":[\"workflow-lg2zb-2614804196\"],\"outboundNodes\":[\"workflow-lg2zb-2507532629\",\"workflow-lg2zb-3658234226\"]},\"model-train-7064f00\":{\"id\":\"workflow-lg2zb-1174133044\",\"name\":\"workflow-lg2zb.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-lg2zb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-lg2zb\",\"startedAt\":\"2024-01-25T02:17:33Z\",\"finishedAt\":\"2024-01-25T02:17:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":35,\"memory\":418},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-lg2zb/workflow-lg2zb-model-train-7064f00-1174133044/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-lg2zb-2507532629\",\"workflow-lg2zb-3658234226\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-lg2zb-2507532629\",\"name\":\"workflow-lg2zb.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-lg2zb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-lg2zb\",\"startedAt\":\"2024-01-25T02:18:02Z\",\"finishedAt\":\"2024-01-25T02:18:19Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":293},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-lg2zb/workflow-lg2zb-model-train-7fe21e4-2507532629/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-lg2zb-2614804196\",\"name\":\"workflow-lg2zb.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-lg2zb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-lg2zb\",\"startedAt\":\"2024-01-25T02:16:09Z\",\"finishedAt\":\"2024-01-25T02:17:23Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-lg2zb/workflow-lg2zb-git-clone-58252975-2614804196/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-lg2zb-1174133044\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-lg2zb-3658234226\",\"name\":\"workflow-lg2zb.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-lg2zb\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-lg2zb\",\"startedAt\":\"2024-01-25T02:18:02Z\",\"finishedAt\":\"2024-01-25T02:18:28Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":33,\"memory\":298},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-lg2zb/workflow-lg2zb-model-train-afcf186-3658234226/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:16:09', '2024-01-25 10:18:41', 'admin', '2024-01-25 10:16:13', 'admin', '2024-01-25 10:20:00', 0); -INSERT INTO `experiment_ins` VALUES (98, 350, 'workflow-xw5jl', 'argo', NULL, NULL, NULL, NULL, NULL, 'admin', '2024-01-25 10:20:41', 'admin', '2024-01-25 10:20:41', 0); -INSERT INTO `experiment_ins` VALUES (99, 350, 'workflow-kw5dd', 'argo', 'Succeeded', '{\"workflow-kw5dd\":{\"id\":\"workflow-kw5dd\",\"name\":\"workflow-kw5dd\",\"displayName\":\"workflow-kw5dd\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-kw5dd\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:26:29Z\",\"finishedAt\":\"2024-01-25T02:29:51Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":328,\"memory\":3559},\"children\":[\"workflow-kw5dd-1823677084\"],\"outboundNodes\":[\"workflow-kw5dd-2609726381\",\"workflow-kw5dd-773892122\"]},\"model-train-7064f00\":{\"id\":\"workflow-kw5dd-1393657612\",\"name\":\"workflow-kw5dd.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-kw5dd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-kw5dd\",\"startedAt\":\"2024-01-25T02:28:54Z\",\"finishedAt\":\"2024-01-25T02:29:11Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-kw5dd/workflow-kw5dd-model-train-7064f00-1393657612/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-kw5dd-2609726381\",\"workflow-kw5dd-773892122\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-kw5dd-1823677084\",\"name\":\"workflow-kw5dd.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-kw5dd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-kw5dd\",\"startedAt\":\"2024-01-25T02:26:29Z\",\"finishedAt\":\"2024-01-25T02:28:44Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":242,\"memory\":2515},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-kw5dd/workflow-kw5dd-git-clone-58252975-1823677084/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-kw5dd-1393657612\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-kw5dd-2609726381\",\"name\":\"workflow-kw5dd.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-kw5dd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-kw5dd\",\"startedAt\":\"2024-01-25T02:29:17Z\",\"finishedAt\":\"2024-01-25T02:29:41Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":293},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-kw5dd/workflow-kw5dd-model-train-7fe21e4-2609726381/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-kw5dd-773892122\",\"name\":\"workflow-kw5dd.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-kw5dd\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-kw5dd\",\"startedAt\":\"2024-01-25T02:29:17Z\",\"finishedAt\":\"2024-01-25T02:29:41Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":29,\"memory\":335},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-kw5dd/workflow-kw5dd-model-train-afcf186-773892122/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:26:29', '2024-01-25 10:29:51', 'admin', '2024-01-25 10:26:33', 'admin', '2024-01-25 10:32:09', 0); -INSERT INTO `experiment_ins` VALUES (100, 350, 'workflow-fs6nj', 'argo', 'Succeeded', '{\"workflow-fs6nj\":{\"id\":\"workflow-fs6nj\",\"name\":\"workflow-fs6nj\",\"displayName\":\"workflow-fs6nj\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-fs6nj\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:26:32Z\",\"finishedAt\":\"2024-01-25T02:30:16Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":342,\"memory\":3587},\"children\":[\"workflow-fs6nj-1737030582\"],\"outboundNodes\":[\"workflow-fs6nj-2076685031\",\"workflow-fs6nj-3232181896\"]},\"git-clone-58252975\":{\"id\":\"workflow-fs6nj-1737030582\",\"name\":\"workflow-fs6nj.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-fs6nj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fs6nj\",\"startedAt\":\"2024-01-25T02:26:32Z\",\"finishedAt\":\"2024-01-25T02:28:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":254,\"memory\":2661},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fs6nj/workflow-fs6nj-git-clone-58252975-1737030582/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-fs6nj-2027109430\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-fs6nj-2027109430\",\"name\":\"workflow-fs6nj.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-fs6nj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fs6nj\",\"startedAt\":\"2024-01-25T02:29:03Z\",\"finishedAt\":\"2024-01-25T02:29:24Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fs6nj/workflow-fs6nj-model-train-7064f00-2027109430/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-fs6nj-2076685031\",\"workflow-fs6nj-3232181896\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-fs6nj-2076685031\",\"name\":\"workflow-fs6nj.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-fs6nj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fs6nj\",\"startedAt\":\"2024-01-25T02:29:34Z\",\"finishedAt\":\"2024-01-25T02:30:07Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fs6nj/workflow-fs6nj-model-train-7fe21e4-2076685031/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-fs6nj-3232181896\",\"name\":\"workflow-fs6nj.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-fs6nj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fs6nj\",\"startedAt\":\"2024-01-25T02:29:34Z\",\"finishedAt\":\"2024-01-25T02:30:07Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fs6nj/workflow-fs6nj-model-train-afcf186-3232181896/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:26:32', '2024-01-25 10:30:16', 'admin', '2024-01-25 10:26:36', 'admin', '2024-01-25 10:32:09', 0); -INSERT INTO `experiment_ins` VALUES (101, 350, 'workflow-vlhnj', 'argo', 'Succeeded', '{\"workflow-vlhnj\":{\"id\":\"workflow-vlhnj\",\"name\":\"workflow-vlhnj\",\"displayName\":\"workflow-vlhnj\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vlhnj\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:32:08Z\",\"finishedAt\":\"2024-01-25T02:34:42Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":243,\"memory\":2589},\"children\":[\"workflow-vlhnj-2743262337\"],\"outboundNodes\":[\"workflow-vlhnj-3399399418\",\"workflow-vlhnj-2269738217\"]},\"model-train-afcf186\":{\"id\":\"workflow-vlhnj-2269738217\",\"name\":\"workflow-vlhnj.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-vlhnj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vlhnj\",\"startedAt\":\"2024-01-25T02:34:12Z\",\"finishedAt\":\"2024-01-25T02:34:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":24,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vlhnj/workflow-vlhnj-model-train-afcf186-2269738217/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-vlhnj-2743262337\",\"name\":\"workflow-vlhnj.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-vlhnj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vlhnj\",\"startedAt\":\"2024-01-25T02:32:08Z\",\"finishedAt\":\"2024-01-25T02:33:34Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":162,\"memory\":1709},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vlhnj/workflow-vlhnj-git-clone-58252975-2743262337/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vlhnj-3363923283\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-vlhnj-3363923283\",\"name\":\"workflow-vlhnj.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-vlhnj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vlhnj\",\"startedAt\":\"2024-01-25T02:33:44Z\",\"finishedAt\":\"2024-01-25T02:34:03Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vlhnj/workflow-vlhnj-model-train-7064f00-3363923283/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vlhnj-3399399418\",\"workflow-vlhnj-2269738217\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-vlhnj-3399399418\",\"name\":\"workflow-vlhnj.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-vlhnj\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vlhnj\",\"startedAt\":\"2024-01-25T02:34:12Z\",\"finishedAt\":\"2024-01-25T02:34:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vlhnj/workflow-vlhnj-model-train-7fe21e4-3399399418/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:32:08', '2024-01-25 10:34:42', 'admin', '2024-01-25 10:32:13', 'admin', '2024-01-25 10:40:24', 0); -INSERT INTO `experiment_ins` VALUES (102, 350, 'workflow-bpjh4', 'argo', 'Succeeded', '{\"workflow-bpjh4\":{\"id\":\"workflow-bpjh4\",\"name\":\"workflow-bpjh4\",\"displayName\":\"workflow-bpjh4\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-bpjh4\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:40:23Z\",\"finishedAt\":\"2024-01-25T02:42:45Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":222,\"memory\":2379},\"children\":[\"workflow-bpjh4-3043496451\"],\"outboundNodes\":[\"workflow-bpjh4-2348035828\",\"workflow-bpjh4-3424985895\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-bpjh4-2348035828\",\"name\":\"workflow-bpjh4.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-bpjh4\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bpjh4\",\"startedAt\":\"2024-01-25T02:42:15Z\",\"finishedAt\":\"2024-01-25T02:42:35Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bpjh4/workflow-bpjh4-model-train-7fe21e4-2348035828/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-bpjh4-3043496451\",\"name\":\"workflow-bpjh4.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-bpjh4\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bpjh4\",\"startedAt\":\"2024-01-25T02:40:23Z\",\"finishedAt\":\"2024-01-25T02:41:37Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":140,\"memory\":1458},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bpjh4/workflow-bpjh4-git-clone-58252975-3043496451/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bpjh4-3413362117\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-bpjh4-3413362117\",\"name\":\"workflow-bpjh4.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-bpjh4\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bpjh4\",\"startedAt\":\"2024-01-25T02:41:47Z\",\"finishedAt\":\"2024-01-25T02:42:05Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bpjh4/workflow-bpjh4-model-train-7064f00-3413362117/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bpjh4-2348035828\",\"workflow-bpjh4-3424985895\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-bpjh4-3424985895\",\"name\":\"workflow-bpjh4.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-bpjh4\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bpjh4\",\"startedAt\":\"2024-01-25T02:42:15Z\",\"finishedAt\":\"2024-01-25T02:42:35Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":293},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bpjh4/workflow-bpjh4-model-train-afcf186-3424985895/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:40:23', '2024-01-25 10:42:45', 'admin', '2024-01-25 10:40:27', 'admin', '2024-01-25 10:43:49', 0); -INSERT INTO `experiment_ins` VALUES (103, 350, 'workflow-htbkc', 'argo', 'Succeeded', '{\"workflow-htbkc\":{\"id\":\"workflow-htbkc\",\"name\":\"workflow-htbkc\",\"displayName\":\"workflow-htbkc\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-htbkc\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:45:53Z\",\"finishedAt\":\"2024-01-25T02:48:26Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":240,\"memory\":2549},\"children\":[\"workflow-htbkc-234026067\"],\"outboundNodes\":[\"workflow-htbkc-3163545412\",\"workflow-htbkc-215770327\"]},\"model-train-7064f00\":{\"id\":\"workflow-htbkc-2135362261\",\"name\":\"workflow-htbkc.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-htbkc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-htbkc\",\"startedAt\":\"2024-01-25T02:47:23Z\",\"finishedAt\":\"2024-01-25T02:47:43Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-htbkc/workflow-htbkc-model-train-7064f00-2135362261/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-htbkc-3163545412\",\"workflow-htbkc-215770327\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-htbkc-215770327\",\"name\":\"workflow-htbkc.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-htbkc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-htbkc\",\"startedAt\":\"2024-01-25T02:47:54Z\",\"finishedAt\":\"2024-01-25T02:48:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":29,\"memory\":295},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-htbkc/workflow-htbkc-model-train-afcf186-215770327/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-htbkc-234026067\",\"name\":\"workflow-htbkc.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-htbkc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-htbkc\",\"startedAt\":\"2024-01-25T02:45:53Z\",\"finishedAt\":\"2024-01-25T02:47:13Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":151,\"memory\":1584},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-htbkc/workflow-htbkc-git-clone-58252975-234026067/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-htbkc-2135362261\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-htbkc-3163545412\",\"name\":\"workflow-htbkc.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-htbkc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-htbkc\",\"startedAt\":\"2024-01-25T02:47:54Z\",\"finishedAt\":\"2024-01-25T02:48:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":29,\"memory\":295},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-htbkc/workflow-htbkc-model-train-7fe21e4-3163545412/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:45:53', '2024-01-25 10:48:26', 'admin', '2024-01-25 10:45:58', 'admin', '2024-01-25 10:50:29', 0); -INSERT INTO `experiment_ins` VALUES (104, 350, 'workflow-7r88w', 'argo', 'Succeeded', '{\"workflow-7r88w\":{\"id\":\"workflow-7r88w\",\"name\":\"workflow-7r88w\",\"displayName\":\"workflow-7r88w\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-7r88w\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T02:53:04Z\",\"finishedAt\":\"2024-01-25T02:55:41Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":220,\"memory\":2300},\"children\":[\"workflow-7r88w-2547179209\"],\"outboundNodes\":[\"workflow-7r88w-3147079874\",\"workflow-7r88w-2341008513\"]},\"model-train-7064f00\":{\"id\":\"workflow-7r88w-1095423067\",\"name\":\"workflow-7r88w.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-7r88w\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7r88w\",\"startedAt\":\"2024-01-25T02:54:26Z\",\"finishedAt\":\"2024-01-25T02:55:00Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":378},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7r88w/workflow-7r88w-model-train-7064f00-1095423067/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7r88w-3147079874\",\"workflow-7r88w-2341008513\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-7r88w-2341008513\",\"name\":\"workflow-7r88w.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-7r88w\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7r88w\",\"startedAt\":\"2024-01-25T02:55:09Z\",\"finishedAt\":\"2024-01-25T02:55:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7r88w/workflow-7r88w-model-train-afcf186-2341008513/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-7r88w-2547179209\",\"name\":\"workflow-7r88w.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-7r88w\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7r88w\",\"startedAt\":\"2024-01-25T02:53:04Z\",\"finishedAt\":\"2024-01-25T02:54:16Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":136,\"memory\":1416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7r88w/workflow-7r88w-git-clone-58252975-2547179209/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-7r88w-1095423067\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-7r88w-3147079874\",\"name\":\"workflow-7r88w.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-7r88w\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-7r88w\",\"startedAt\":\"2024-01-25T02:55:09Z\",\"finishedAt\":\"2024-01-25T02:55:30Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":23,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-7r88w/workflow-7r88w-model-train-7fe21e4-3147079874/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 10:53:04', '2024-01-25 10:55:41', 'admin', '2024-01-25 10:53:08', 'admin', '2024-01-25 10:57:07', 0); -INSERT INTO `experiment_ins` VALUES (105, 350, 'workflow-dqwks', 'argo', 'Succeeded', '{\"workflow-dqwks\":{\"id\":\"workflow-dqwks\",\"name\":\"workflow-dqwks\",\"displayName\":\"workflow-dqwks\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-dqwks\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T03:24:02Z\",\"finishedAt\":\"2024-01-25T03:28:13Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":360,\"memory\":3717},\"children\":[\"workflow-dqwks-2949036025\"],\"outboundNodes\":[\"workflow-dqwks-2403941490\",\"workflow-dqwks-4063487633\"]},\"model-train-7064f00\":{\"id\":\"workflow-dqwks-1595446155\",\"name\":\"workflow-dqwks.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-dqwks\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dqwks\",\"startedAt\":\"2024-01-25T03:26:33Z\",\"finishedAt\":\"2024-01-25T03:27:05Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":40,\"memory\":461},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dqwks/workflow-dqwks-model-train-7064f00-1595446155/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-dqwks-2403941490\",\"workflow-dqwks-4063487633\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-dqwks-2403941490\",\"name\":\"workflow-dqwks.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-dqwks\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dqwks\",\"startedAt\":\"2024-01-25T03:27:12Z\",\"finishedAt\":\"2024-01-25T03:28:06Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":298},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dqwks/workflow-dqwks-model-train-7fe21e4-2403941490/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-dqwks-2949036025\",\"name\":\"workflow-dqwks.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-dqwks\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dqwks\",\"startedAt\":\"2024-01-25T03:24:02Z\",\"finishedAt\":\"2024-01-25T03:26:24Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":253,\"memory\":2621},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dqwks/workflow-dqwks-git-clone-58252975-2949036025/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-dqwks-1595446155\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-dqwks-4063487633\",\"name\":\"workflow-dqwks.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-dqwks\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-dqwks\",\"startedAt\":\"2024-01-25T03:27:12Z\",\"finishedAt\":\"2024-01-25T03:27:56Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":33,\"memory\":337},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-dqwks/workflow-dqwks-model-train-afcf186-4063487633/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 11:24:02', '2024-01-25 11:28:13', 'admin', '2024-01-25 11:24:06', 'admin', '2024-01-25 13:36:43', 0); -INSERT INTO `experiment_ins` VALUES (106, 350, 'workflow-ft8qr', 'argo', 'Succeeded', '{\"workflow-ft8qr\":{\"id\":\"workflow-ft8qr\",\"name\":\"workflow-ft8qr\",\"displayName\":\"workflow-ft8qr\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-ft8qr\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T03:24:05Z\",\"finishedAt\":\"2024-01-25T03:28:44Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":381,\"memory\":3948},\"children\":[\"workflow-ft8qr-2023447360\"],\"outboundNodes\":[\"workflow-ft8qr-3398365577\",\"workflow-ft8qr-4132545750\"]},\"git-clone-58252975\":{\"id\":\"workflow-ft8qr-2023447360\",\"name\":\"workflow-ft8qr.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-ft8qr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ft8qr\",\"startedAt\":\"2024-01-25T03:24:05Z\",\"finishedAt\":\"2024-01-25T03:26:46Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":286,\"memory\":2979},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ft8qr/workflow-ft8qr-git-clone-58252975-2023447360/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ft8qr-5283232\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-ft8qr-3398365577\",\"name\":\"workflow-ft8qr.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-ft8qr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ft8qr\",\"startedAt\":\"2024-01-25T03:27:44Z\",\"finishedAt\":\"2024-01-25T03:28:25Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ft8qr/workflow-ft8qr-model-train-7fe21e4-3398365577/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-ft8qr-4132545750\",\"name\":\"workflow-ft8qr.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-ft8qr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ft8qr\",\"startedAt\":\"2024-01-25T03:27:45Z\",\"finishedAt\":\"2024-01-25T03:28:35Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":29,\"memory\":255},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ft8qr/workflow-ft8qr-model-train-afcf186-4132545750/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-ft8qr-5283232\",\"name\":\"workflow-ft8qr.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-ft8qr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ft8qr\",\"startedAt\":\"2024-01-25T03:26:56Z\",\"finishedAt\":\"2024-01-25T03:27:32Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":40,\"memory\":461},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ft8qr/workflow-ft8qr-model-train-7064f00-5283232/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ft8qr-3398365577\",\"workflow-ft8qr-4132545750\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 11:24:05', '2024-01-25 11:28:44', 'admin', '2024-01-25 11:24:09', 'admin', '2024-01-25 13:36:43', 0); -INSERT INTO `experiment_ins` VALUES (107, 350, 'workflow-mqt8g', 'argo', 'Succeeded', '{\"workflow-mqt8g\":{\"id\":\"workflow-mqt8g\",\"name\":\"workflow-mqt8g\",\"displayName\":\"workflow-mqt8g\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-mqt8g\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:36:50Z\",\"finishedAt\":\"2024-01-25T05:39:28Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":252,\"memory\":2696},\"children\":[\"workflow-mqt8g-4111570102\"],\"outboundNodes\":[\"workflow-mqt8g-1238404583\",\"workflow-mqt8g-2393901448\"]},\"model-train-7064f00\":{\"id\":\"workflow-mqt8g-1188828982\",\"name\":\"workflow-mqt8g.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-mqt8g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mqt8g\",\"startedAt\":\"2024-01-25T05:38:30Z\",\"finishedAt\":\"2024-01-25T05:38:47Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":374},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mqt8g/workflow-mqt8g-model-train-7064f00-1188828982/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-mqt8g-1238404583\",\"workflow-mqt8g-2393901448\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-mqt8g-1238404583\",\"name\":\"workflow-mqt8g.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-mqt8g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mqt8g\",\"startedAt\":\"2024-01-25T05:38:56Z\",\"finishedAt\":\"2024-01-25T05:39:19Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mqt8g/workflow-mqt8g-model-train-7fe21e4-1238404583/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-mqt8g-2393901448\",\"name\":\"workflow-mqt8g.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-mqt8g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mqt8g\",\"startedAt\":\"2024-01-25T05:38:56Z\",\"finishedAt\":\"2024-01-25T05:39:19Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":25,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mqt8g/workflow-mqt8g-model-train-afcf186-2393901448/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-mqt8g-4111570102\",\"name\":\"workflow-mqt8g.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-mqt8g\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-mqt8g\",\"startedAt\":\"2024-01-25T05:36:50Z\",\"finishedAt\":\"2024-01-25T05:38:20Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":173,\"memory\":1816},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-mqt8g/workflow-mqt8g-git-clone-58252975-4111570102/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-mqt8g-1188828982\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-25 13:36:50', '2024-01-25 13:39:28', 'admin', '2024-01-25 13:36:53', 'admin', '2024-01-25 13:40:06', 0); -INSERT INTO `experiment_ins` VALUES (108, 350, 'workflow-vnmjw', 'argo', 'Succeeded', '{\"workflow-vnmjw\":{\"id\":\"workflow-vnmjw\",\"name\":\"workflow-vnmjw\",\"displayName\":\"workflow-vnmjw\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vnmjw\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:37:27Z\",\"finishedAt\":\"2024-01-25T05:41:21Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":378,\"memory\":3968},\"children\":[\"workflow-vnmjw-2923447819\"],\"outboundNodes\":[\"workflow-vnmjw-3753122652\",\"workflow-vnmjw-1179072735\"]},\"model-train-7064f00\":{\"id\":\"workflow-vnmjw-1154341933\",\"name\":\"workflow-vnmjw.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-vnmjw\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vnmjw\",\"startedAt\":\"2024-01-25T05:40:08Z\",\"finishedAt\":\"2024-01-25T05:40:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":378},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vnmjw/workflow-vnmjw-model-train-7064f00-1154341933/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vnmjw-3753122652\",\"workflow-vnmjw-1179072735\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-vnmjw-1179072735\",\"name\":\"workflow-vnmjw.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-vnmjw\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vnmjw\",\"startedAt\":\"2024-01-25T05:40:42Z\",\"finishedAt\":\"2024-01-25T05:41:11Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vnmjw/workflow-vnmjw-model-train-afcf186-1179072735/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-vnmjw-2923447819\",\"name\":\"workflow-vnmjw.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-vnmjw\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vnmjw\",\"startedAt\":\"2024-01-25T05:37:27Z\",\"finishedAt\":\"2024-01-25T05:39:59Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":291,\"memory\":3043},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vnmjw/workflow-vnmjw-git-clone-58252975-2923447819/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vnmjw-1154341933\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-vnmjw-3753122652\",\"name\":\"workflow-vnmjw.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-vnmjw\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vnmjw\",\"startedAt\":\"2024-01-25T05:40:42Z\",\"finishedAt\":\"2024-01-25T05:41:11Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vnmjw/workflow-vnmjw-model-train-7fe21e4-3753122652/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 13:37:27', '2024-01-25 13:41:21', 'admin', '2024-01-25 13:37:30', 'admin', '2024-01-25 13:42:06', 0); -INSERT INTO `experiment_ins` VALUES (109, 350, 'workflow-78c99', 'argo', 'Succeeded', '{\"workflow-78c99\":{\"id\":\"workflow-78c99\",\"name\":\"workflow-78c99\",\"displayName\":\"workflow-78c99\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-78c99\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:37:31Z\",\"finishedAt\":\"2024-01-25T05:40:52Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":342,\"memory\":3685},\"children\":[\"workflow-78c99-3292956409\"],\"outboundNodes\":[\"workflow-78c99-3564902770\",\"workflow-78c99-929481617\"]},\"model-train-7064f00\":{\"id\":\"workflow-78c99-2756407435\",\"name\":\"workflow-78c99.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-78c99\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-78c99\",\"startedAt\":\"2024-01-25T05:39:58Z\",\"finishedAt\":\"2024-01-25T05:40:18Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-78c99/workflow-78c99-model-train-7064f00-2756407435/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-78c99-3564902770\",\"workflow-78c99-929481617\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-78c99-3292956409\",\"name\":\"workflow-78c99.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-78c99\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-78c99\",\"startedAt\":\"2024-01-25T05:37:31Z\",\"finishedAt\":\"2024-01-25T05:39:48Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":264,\"memory\":2766},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-78c99/workflow-78c99-git-clone-58252975-3292956409/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-78c99-2756407435\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-78c99-3564902770\",\"name\":\"workflow-78c99.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-78c99\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-78c99\",\"startedAt\":\"2024-01-25T05:40:28Z\",\"finishedAt\":\"2024-01-25T05:40:50Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":24,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-78c99/workflow-78c99-model-train-7fe21e4-3564902770/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-78c99-929481617\",\"name\":\"workflow-78c99.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-78c99\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-78c99\",\"startedAt\":\"2024-01-25T05:40:32Z\",\"finishedAt\":\"2024-01-25T05:40:50Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":22,\"memory\":251},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-78c99/workflow-78c99-model-train-afcf186-929481617/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 13:37:31', '2024-01-25 13:40:52', 'admin', '2024-01-25 13:37:35', 'admin', '2024-01-25 13:42:06', 0); -INSERT INTO `experiment_ins` VALUES (110, 350, 'workflow-qj4sg', 'argo', 'Succeeded', '{\"workflow-qj4sg\":{\"id\":\"workflow-qj4sg\",\"name\":\"workflow-qj4sg\",\"displayName\":\"workflow-qj4sg\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-qj4sg\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:42:06Z\",\"finishedAt\":\"2024-01-25T05:44:27Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":224,\"memory\":2380},\"children\":[\"workflow-qj4sg-4251976642\"],\"outboundNodes\":[\"workflow-qj4sg-1519523739\",\"workflow-qj4sg-4082536556\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-qj4sg-1519523739\",\"name\":\"workflow-qj4sg.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-qj4sg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-qj4sg\",\"startedAt\":\"2024-01-25T05:43:56Z\",\"finishedAt\":\"2024-01-25T05:44:18Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-qj4sg/workflow-qj4sg-model-train-7fe21e4-1519523739/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-qj4sg-4082536556\",\"name\":\"workflow-qj4sg.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-qj4sg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-qj4sg\",\"startedAt\":\"2024-01-25T05:43:57Z\",\"finishedAt\":\"2024-01-25T05:44:18Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-qj4sg/workflow-qj4sg-model-train-afcf186-4082536556/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-qj4sg-4251976642\",\"name\":\"workflow-qj4sg.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-qj4sg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-qj4sg\",\"startedAt\":\"2024-01-25T05:42:06Z\",\"finishedAt\":\"2024-01-25T05:43:19Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-qj4sg/workflow-qj4sg-git-clone-58252975-4251976642/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-qj4sg-678509234\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-qj4sg-678509234\",\"name\":\"workflow-qj4sg.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-qj4sg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-qj4sg\",\"startedAt\":\"2024-01-25T05:43:29Z\",\"finishedAt\":\"2024-01-25T05:43:47Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":31,\"memory\":376},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-qj4sg/workflow-qj4sg-model-train-7064f00-678509234/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-qj4sg-1519523739\",\"workflow-qj4sg-4082536556\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 13:42:06', '2024-01-25 13:44:27', 'admin', '2024-01-25 13:42:10', 'admin', '2024-01-25 13:46:03', 0); -INSERT INTO `experiment_ins` VALUES (111, 350, 'workflow-rfncr', 'argo', 'Succeeded', '{\"workflow-rfncr\":{\"id\":\"workflow-rfncr\",\"name\":\"workflow-rfncr\",\"displayName\":\"workflow-rfncr\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-rfncr\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:47:00Z\",\"finishedAt\":\"2024-01-25T05:50:02Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":285,\"memory\":2995},\"children\":[\"workflow-rfncr-2769865998\"],\"outboundNodes\":[\"workflow-rfncr-2456496639\",\"workflow-rfncr-2258447440\"]},\"model-train-afcf186\":{\"id\":\"workflow-rfncr-2258447440\",\"name\":\"workflow-rfncr.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-rfncr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-rfncr\",\"startedAt\":\"2024-01-25T05:49:25Z\",\"finishedAt\":\"2024-01-25T05:49:52Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-rfncr/workflow-rfncr-model-train-afcf186-2258447440/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-rfncr-2456496639\",\"name\":\"workflow-rfncr.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-rfncr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-rfncr\",\"startedAt\":\"2024-01-25T05:49:25Z\",\"finishedAt\":\"2024-01-25T05:49:52Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-rfncr/workflow-rfncr-model-train-7fe21e4-2456496639/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-rfncr-2769865998\",\"name\":\"workflow-rfncr.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-rfncr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-rfncr\",\"startedAt\":\"2024-01-25T05:47:00Z\",\"finishedAt\":\"2024-01-25T05:48:44Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":197,\"memory\":2070},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-rfncr/workflow-rfncr-git-clone-58252975-2769865998/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-rfncr-3720831310\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-rfncr-3720831310\",\"name\":\"workflow-rfncr.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-rfncr\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-rfncr\",\"startedAt\":\"2024-01-25T05:48:54Z\",\"finishedAt\":\"2024-01-25T05:49:14Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":34,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-rfncr/workflow-rfncr-model-train-7064f00-3720831310/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-rfncr-2456496639\",\"workflow-rfncr-2258447440\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 13:47:00', '2024-01-25 13:50:02', 'admin', '2024-01-25 13:47:03', 'admin', '2024-01-25 13:50:29', 0); -INSERT INTO `experiment_ins` VALUES (112, 350, 'workflow-ckglm', 'argo', 'Succeeded', '{\"workflow-ckglm\":{\"id\":\"workflow-ckglm\",\"name\":\"workflow-ckglm\",\"displayName\":\"workflow-ckglm\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-ckglm\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:47:09Z\",\"finishedAt\":\"2024-01-25T05:50:26Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":311,\"memory\":3288},\"children\":[\"workflow-ckglm-2927300755\"],\"outboundNodes\":[\"workflow-ckglm-1273585540\",\"workflow-ckglm-3687233175\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-ckglm-1273585540\",\"name\":\"workflow-ckglm.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-ckglm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ckglm\",\"startedAt\":\"2024-01-25T05:49:46Z\",\"finishedAt\":\"2024-01-25T05:50:16Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":28,\"memory\":294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ckglm/workflow-ckglm-model-train-7fe21e4-1273585540/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-ckglm-2927300755\",\"name\":\"workflow-ckglm.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-ckglm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ckglm\",\"startedAt\":\"2024-01-25T05:47:09Z\",\"finishedAt\":\"2024-01-25T05:49:09Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":224,\"memory\":2324},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ckglm/workflow-ckglm-git-clone-58252975-2927300755/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ckglm-4284275221\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-ckglm-3687233175\",\"name\":\"workflow-ckglm.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-ckglm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ckglm\",\"startedAt\":\"2024-01-25T05:49:52Z\",\"finishedAt\":\"2024-01-25T05:50:16Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":27,\"memory\":254},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ckglm/workflow-ckglm-model-train-afcf186-3687233175/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-ckglm-4284275221\",\"name\":\"workflow-ckglm.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-ckglm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ckglm\",\"startedAt\":\"2024-01-25T05:49:19Z\",\"finishedAt\":\"2024-01-25T05:49:37Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":32,\"memory\":416},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ckglm/workflow-ckglm-model-train-7064f00-4284275221/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ckglm-1273585540\",\"workflow-ckglm-3687233175\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 13:47:09', '2024-01-25 13:50:26', 'admin', '2024-01-25 13:47:13', 'admin', '2024-01-25 13:50:31', 0); -INSERT INTO `experiment_ins` VALUES (113, 350, 'workflow-rmcbc', 'argo', NULL, NULL, NULL, NULL, NULL, 'admin', '2024-01-25 13:50:41', 'admin', '2024-01-25 13:50:41', 0); -INSERT INTO `experiment_ins` VALUES (114, 350, 'workflow-6k8s8', 'argo', 'Succeeded', '{\"workflow-6k8s8\":{\"id\":\"workflow-6k8s8\",\"name\":\"workflow-6k8s8\",\"displayName\":\"workflow-6k8s8\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-6k8s8\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:50:43Z\",\"finishedAt\":\"2024-01-25T05:53:38Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":332,\"memory\":3485},\"children\":[\"workflow-6k8s8-3557261561\"],\"outboundNodes\":[\"workflow-6k8s8-2705696626\",\"workflow-6k8s8-70275473\"]},\"model-train-7064f00\":{\"id\":\"workflow-6k8s8-1897201291\",\"name\":\"workflow-6k8s8.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-6k8s8\",\"phase\":\"Skipped\",\"boundaryID\":\"workflow-6k8s8\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T05:53:38Z\",\"finishedAt\":\"2024-01-25T05:53:38Z\",\"progress\":\"1/1\",\"children\":[\"workflow-6k8s8-2705696626\",\"workflow-6k8s8-70275473\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-6k8s8-2705696626\",\"name\":\"workflow-6k8s8.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-6k8s8\",\"phase\":\"Skipped\",\"boundaryID\":\"workflow-6k8s8\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T05:53:38Z\",\"finishedAt\":\"2024-01-25T05:53:38Z\",\"progress\":\"1/1\"},\"git-clone-58252975\":{\"id\":\"workflow-6k8s8-3557261561\",\"name\":\"workflow-6k8s8.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-6k8s8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-6k8s8\",\"startedAt\":\"2024-01-25T05:50:43Z\",\"finishedAt\":\"2024-01-25T05:53:34Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":332,\"memory\":3485},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-6k8s8/workflow-6k8s8-git-clone-58252975-3557261561/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-6k8s8-1897201291\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-6k8s8-70275473\",\"name\":\"workflow-6k8s8.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-6k8s8\",\"phase\":\"Skipped\",\"boundaryID\":\"workflow-6k8s8\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T05:53:38Z\",\"finishedAt\":\"2024-01-25T05:53:38Z\",\"progress\":\"1/1\"}}', NULL, '2024-01-25 13:50:43', '2024-01-25 13:53:38', 'admin', '2024-01-25 13:50:46', 'admin', '2024-01-25 13:55:11', 0); -INSERT INTO `experiment_ins` VALUES (115, 350, 'workflow-zkxgq', 'argo', 'Failed', '{\"workflow-zkxgq\":{\"id\":\"workflow-zkxgq\",\"name\":\"workflow-zkxgq\",\"displayName\":\"workflow-zkxgq\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-zkxgq\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-25T05:51:35Z\",\"finishedAt\":\"2024-01-25T05:53:15Z\",\"progress\":\"0/1\",\"children\":[\"workflow-zkxgq-2794765560\"],\"outboundNodes\":[\"workflow-zkxgq-1048252129\",\"workflow-zkxgq-3994576638\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-zkxgq-1048252129\",\"name\":\"workflow-zkxgq.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-zkxgq\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-zkxgq\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:15Z\",\"finishedAt\":\"2024-01-25T05:53:15Z\"},\"model-train-7064f00\":{\"id\":\"workflow-zkxgq-2684848184\",\"name\":\"workflow-zkxgq.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Skipped\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-zkxgq\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-zkxgq\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:15Z\",\"finishedAt\":\"2024-01-25T05:53:15Z\",\"children\":[\"workflow-zkxgq-1048252129\",\"workflow-zkxgq-3994576638\"]},\"git-clone-58252975\":{\"id\":\"workflow-zkxgq-2794765560\",\"name\":\"workflow-zkxgq.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-zkxgq\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-zkxgq\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T05:51:35Z\",\"finishedAt\":\"2024-01-25T05:53:15Z\",\"progress\":\"0/1\",\"children\":[\"workflow-zkxgq-2684848184\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-zkxgq-3994576638\",\"name\":\"workflow-zkxgq.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-zkxgq\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-zkxgq\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:15Z\",\"finishedAt\":\"2024-01-25T05:53:15Z\"}}', NULL, '2024-01-25 13:51:35', '2024-01-25 13:53:15', 'admin', '2024-01-25 13:51:38', 'admin', '2024-01-25 13:55:11', 0); -INSERT INTO `experiment_ins` VALUES (116, 350, 'workflow-brcnp', 'argo', 'Failed', '{\"workflow-brcnp\":{\"id\":\"workflow-brcnp\",\"name\":\"workflow-brcnp\",\"displayName\":\"workflow-brcnp\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-brcnp\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-25T05:51:52Z\",\"finishedAt\":\"2024-01-25T05:53:30Z\",\"progress\":\"0/1\",\"children\":[\"workflow-brcnp-296225742\"],\"outboundNodes\":[\"workflow-brcnp-3042073023\",\"workflow-brcnp-3224460944\"]},\"git-clone-58252975\":{\"id\":\"workflow-brcnp-296225742\",\"name\":\"workflow-brcnp.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-brcnp\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-brcnp\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T05:51:52Z\",\"finishedAt\":\"2024-01-25T05:53:30Z\",\"progress\":\"0/1\",\"children\":[\"workflow-brcnp-4096467982\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-brcnp-3042073023\",\"name\":\"workflow-brcnp.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-brcnp\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-brcnp\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:30Z\",\"finishedAt\":\"2024-01-25T05:53:30Z\"},\"model-train-afcf186\":{\"id\":\"workflow-brcnp-3224460944\",\"name\":\"workflow-brcnp.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-brcnp\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-brcnp\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:30Z\",\"finishedAt\":\"2024-01-25T05:53:30Z\"},\"model-train-7064f00\":{\"id\":\"workflow-brcnp-4096467982\",\"name\":\"workflow-brcnp.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Skipped\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-brcnp\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-brcnp\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:30Z\",\"finishedAt\":\"2024-01-25T05:53:30Z\",\"children\":[\"workflow-brcnp-3042073023\",\"workflow-brcnp-3224460944\"]}}', NULL, '2024-01-25 13:51:52', '2024-01-25 13:53:30', 'admin', '2024-01-25 13:51:56', 'admin', '2024-01-25 13:55:11', 0); -INSERT INTO `experiment_ins` VALUES (117, 350, 'workflow-vr5dh', 'argo', 'Failed', '{\"workflow-vr5dh\":{\"id\":\"workflow-vr5dh\",\"name\":\"workflow-vr5dh\",\"displayName\":\"workflow-vr5dh\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vr5dh\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-25T05:52:12Z\",\"finishedAt\":\"2024-01-25T05:53:06Z\",\"progress\":\"0/1\",\"children\":[\"workflow-vr5dh-1517797082\"],\"outboundNodes\":[\"workflow-vr5dh-277203731\",\"workflow-vr5dh-992666932\"]},\"git-clone-58252975\":{\"id\":\"workflow-vr5dh-1517797082\",\"name\":\"workflow-vr5dh.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-vr5dh\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-vr5dh\",\"message\":\"workflow shutdown with strategy: Terminate\",\"startedAt\":\"2024-01-25T05:52:12Z\",\"finishedAt\":\"2024-01-25T05:53:06Z\",\"progress\":\"0/1\",\"children\":[\"workflow-vr5dh-3104224298\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-vr5dh-277203731\",\"name\":\"workflow-vr5dh.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Skipped\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-vr5dh\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-vr5dh\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:06Z\",\"finishedAt\":\"2024-01-25T05:53:06Z\"},\"model-train-7064f00\":{\"id\":\"workflow-vr5dh-3104224298\",\"name\":\"workflow-vr5dh.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Skipped\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-vr5dh\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-vr5dh\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:06Z\",\"finishedAt\":\"2024-01-25T05:53:06Z\",\"children\":[\"workflow-vr5dh-277203731\",\"workflow-vr5dh-992666932\"]},\"model-train-afcf186\":{\"id\":\"workflow-vr5dh-992666932\",\"name\":\"workflow-vr5dh.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Skipped\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-vr5dh\",\"phase\":\"Omitted\",\"boundaryID\":\"workflow-vr5dh\",\"message\":\"omitted: depends condition not met\",\"startedAt\":\"2024-01-25T05:53:06Z\",\"finishedAt\":\"2024-01-25T05:53:06Z\"}}', NULL, '2024-01-25 13:52:12', '2024-01-25 13:53:06', 'admin', '2024-01-25 13:52:16', 'admin', '2024-01-25 13:55:11', 0); -INSERT INTO `experiment_ins` VALUES (118, 352, 'workflow-sw6wg', 'argo', 'Succeeded', '{\"workflow-sw6wg\":{\"id\":\"workflow-sw6wg\",\"name\":\"workflow-sw6wg\",\"displayName\":\"workflow-sw6wg\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-sw6wg\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T05:59:47Z\",\"finishedAt\":\"2024-01-25T06:02:19Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":229,\"memory\":2443},\"children\":[\"workflow-sw6wg-104437897\"],\"outboundNodes\":[\"workflow-sw6wg-1494769026\",\"workflow-sw6wg-3907051969\"]},\"git-clone-58252975\":{\"id\":\"workflow-sw6wg-104437897\",\"name\":\"workflow-sw6wg.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-sw6wg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sw6wg\",\"startedAt\":\"2024-01-25T05:59:47Z\",\"finishedAt\":\"2024-01-25T06:01:12Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":149,\"memory\":1563},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sw6wg/workflow-sw6wg-git-clone-58252975-104437897/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-sw6wg-3994173979\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-sw6wg-1494769026\",\"name\":\"workflow-sw6wg.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-sw6wg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sw6wg\",\"startedAt\":\"2024-01-25T06:01:49Z\",\"finishedAt\":\"2024-01-25T06:02:09Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":26,\"memory\":253},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sw6wg/workflow-sw6wg-model-train-7fe21e4-1494769026/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-sw6wg-3907051969\",\"name\":\"workflow-sw6wg.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-sw6wg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sw6wg\",\"startedAt\":\"2024-01-25T06:01:49Z\",\"finishedAt\":\"2024-01-25T06:02:09Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":24,\"memory\":252},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sw6wg/workflow-sw6wg-model-train-afcf186-3907051969/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-sw6wg-3994173979\",\"name\":\"workflow-sw6wg.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-sw6wg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sw6wg\",\"startedAt\":\"2024-01-25T06:01:22Z\",\"finishedAt\":\"2024-01-25T06:01:39Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":375},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sw6wg/workflow-sw6wg-model-train-7064f00-3994173979/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-sw6wg-1494769026\",\"workflow-sw6wg-3907051969\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 13:59:47', '2024-01-25 14:02:19', 'admin', '2024-01-25 13:59:51', 'admin', '2024-01-25 14:02:58', 0); -INSERT INTO `experiment_ins` VALUES (119, 350, 'workflow-4s5r7', 'argo', 'Succeeded', '{\"workflow-4s5r7\":{\"id\":\"workflow-4s5r7\",\"name\":\"workflow-4s5r7\",\"displayName\":\"workflow-4s5r7\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-4s5r7\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T07:15:40Z\",\"finishedAt\":\"2024-01-25T07:18:03Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":230,\"memory\":2483},\"children\":[\"workflow-4s5r7-1705436390\"],\"outboundNodes\":[\"workflow-4s5r7-493294935\",\"workflow-4s5r7-1963261272\"]},\"model-train-7064f00\":{\"id\":\"workflow-4s5r7-1569408806\",\"name\":\"workflow-4s5r7.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-4s5r7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-4s5r7\",\"startedAt\":\"2024-01-25T07:17:03Z\",\"finishedAt\":\"2024-01-25T07:17:23Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":33,\"memory\":417},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-4s5r7/workflow-4s5r7-model-train-7064f00-1569408806/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-4s5r7-493294935\",\"workflow-4s5r7-1963261272\"],\"hostNodeName\":\"k8s-master-01\"},\"git-clone-58252975\":{\"id\":\"workflow-4s5r7-1705436390\",\"name\":\"workflow-4s5r7.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-4s5r7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-4s5r7\",\"startedAt\":\"2024-01-25T07:15:40Z\",\"finishedAt\":\"2024-01-25T07:16:53Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":137,\"memory\":1436},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-4s5r7/workflow-4s5r7-git-clone-58252975-1705436390/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-4s5r7-1569408806\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-4s5r7-1963261272\",\"name\":\"workflow-4s5r7.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-4s5r7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-4s5r7\",\"startedAt\":\"2024-01-25T07:17:32Z\",\"finishedAt\":\"2024-01-25T07:17:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":335},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-4s5r7/workflow-4s5r7-model-train-afcf186-1963261272/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-4s5r7-493294935\",\"name\":\"workflow-4s5r7.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-4s5r7\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-4s5r7\",\"startedAt\":\"2024-01-25T07:17:32Z\",\"finishedAt\":\"2024-01-25T07:17:54Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":30,\"memory\":295},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-4s5r7/workflow-4s5r7-model-train-7fe21e4-493294935/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 15:15:40', '2024-01-25 15:18:03', 'admin', '2024-01-25 15:15:44', 'admin', '2024-01-25 15:18:45', 0); -INSERT INTO `experiment_ins` VALUES (120, 352, 'workflow-fqslt', 'argo', 'Succeeded', '{\"workflow-fqslt\":{\"id\":\"workflow-fqslt\",\"name\":\"workflow-fqslt\",\"displayName\":\"workflow-fqslt\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-fqslt\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T07:59:30Z\",\"finishedAt\":\"2024-01-25T08:02:41Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":288,\"memory\":3195},\"children\":[\"workflow-fqslt-1761107197\"],\"outboundNodes\":[\"workflow-fqslt-2761642430\",\"workflow-fqslt-1044050685\"]},\"model-train-afcf186\":{\"id\":\"workflow-fqslt-1044050685\",\"name\":\"workflow-fqslt.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-fqslt\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fqslt\",\"startedAt\":\"2024-01-25T08:02:06Z\",\"finishedAt\":\"2024-01-25T08:02:31Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":40,\"memory\":461},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fqslt/workflow-fqslt-model-train-afcf186-1044050685/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"git-clone-58252975\":{\"id\":\"workflow-fqslt-1761107197\",\"name\":\"workflow-fqslt.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-fqslt\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fqslt\",\"startedAt\":\"2024-01-25T07:59:30Z\",\"finishedAt\":\"2024-01-25T08:01:17Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":161,\"memory\":1689},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fqslt/workflow-fqslt-git-clone-58252975-1761107197/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-fqslt-3233673359\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-fqslt-2761642430\",\"name\":\"workflow-fqslt.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-fqslt\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fqslt\",\"startedAt\":\"2024-01-25T08:02:06Z\",\"finishedAt\":\"2024-01-25T08:02:31Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":40,\"memory\":461},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fqslt/workflow-fqslt-model-train-7fe21e4-2761642430/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-fqslt-3233673359\",\"name\":\"workflow-fqslt.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-fqslt\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-fqslt\",\"startedAt\":\"2024-01-25T08:01:27Z\",\"finishedAt\":\"2024-01-25T08:01:56Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":47,\"memory\":584},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-fqslt/workflow-fqslt-model-train-7064f00-3233673359/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-fqslt-2761642430\",\"workflow-fqslt-1044050685\"],\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-25 15:59:30', '2024-01-25 16:02:41', 'admin', '2024-01-25 15:59:35', 'admin', '2024-01-25 16:02:51', 0); -INSERT INTO `experiment_ins` VALUES (121, 352, 'workflow-nmbdt', 'argo', NULL, NULL, NULL, NULL, NULL, 'admin', '2024-01-25 16:41:12', 'admin', '2024-01-25 16:41:12', 0); -INSERT INTO `experiment_ins` VALUES (122, 353, 'workflow-w74jm', 'argo', 'Succeeded', '{\"workflow-w74jm\":{\"id\":\"workflow-w74jm\",\"name\":\"workflow-w74jm\",\"displayName\":\"workflow-w74jm\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-w74jm\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T08:45:54Z\",\"finishedAt\":\"2024-01-25T08:52:14Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":754,\"memory\":8435},\"children\":[\"workflow-w74jm-2903569918\"],\"outboundNodes\":[\"workflow-w74jm-2430761199\",\"workflow-w74jm-750502496\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-w74jm-2430761199\",\"name\":\"workflow-w74jm.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-w74jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w74jm\",\"startedAt\":\"2024-01-25T08:51:01Z\",\"finishedAt\":\"2024-01-25T08:52:05Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":94,\"memory\":1210},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w74jm/workflow-w74jm-model-train-7fe21e4-2430761199/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"git-clone-58252975\":{\"id\":\"workflow-w74jm-2903569918\",\"name\":\"workflow-w74jm.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-w74jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w74jm\",\"startedAt\":\"2024-01-25T08:45:54Z\",\"finishedAt\":\"2024-01-25T08:50:04Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":490,\"memory\":5134},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w74jm/workflow-w74jm-git-clone-58252975-2903569918/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-w74jm-444218750\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-w74jm-444218750\",\"name\":\"workflow-w74jm.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-w74jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w74jm\",\"startedAt\":\"2024-01-25T08:50:13Z\",\"finishedAt\":\"2024-01-25T08:50:57Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":68,\"memory\":797},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w74jm/workflow-w74jm-model-train-7064f00-444218750/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-w74jm-2430761199\",\"workflow-w74jm-750502496\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-w74jm-750502496\",\"name\":\"workflow-w74jm.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-w74jm\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-w74jm\",\"startedAt\":\"2024-01-25T08:51:01Z\",\"finishedAt\":\"2024-01-25T08:52:09Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":102,\"memory\":1294},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-w74jm/workflow-w74jm-model-train-afcf186-750502496/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-25 16:45:54', '2024-01-25 16:52:14', 'admin', '2024-01-25 16:45:58', 'admin', '2024-01-25 16:57:39', 1); -INSERT INTO `experiment_ins` VALUES (123, 353, 'workflow-h2sq8', 'argo', 'Succeeded', '{\"workflow-h2sq8\":{\"id\":\"workflow-h2sq8\",\"name\":\"workflow-h2sq8\",\"displayName\":\"workflow-h2sq8\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-h2sq8\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T08:45:59Z\",\"finishedAt\":\"2024-01-25T08:51:37Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":619,\"memory\":6523},\"children\":[\"workflow-h2sq8-1791671521\"],\"outboundNodes\":[\"workflow-h2sq8-47995738\",\"workflow-h2sq8-90470473\"]},\"git-clone-58252975\":{\"id\":\"workflow-h2sq8-1791671521\",\"name\":\"workflow-h2sq8.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-h2sq8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-h2sq8\",\"startedAt\":\"2024-01-25T08:45:59Z\",\"finishedAt\":\"2024-01-25T08:49:42Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":432,\"memory\":4541},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-h2sq8/workflow-h2sq8-git-clone-58252975-1791671521/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-h2sq8-834663603\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-h2sq8-47995738\",\"name\":\"workflow-h2sq8.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-h2sq8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-h2sq8\",\"startedAt\":\"2024-01-25T08:50:34Z\",\"finishedAt\":\"2024-01-25T08:51:31Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":87,\"memory\":1007},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-h2sq8/workflow-h2sq8-model-train-7fe21e4-47995738/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-h2sq8-834663603\",\"name\":\"workflow-h2sq8.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-h2sq8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-h2sq8\",\"startedAt\":\"2024-01-25T08:49:52Z\",\"finishedAt\":\"2024-01-25T08:50:23Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":54,\"memory\":669},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-h2sq8/workflow-h2sq8-model-train-7064f00-834663603/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-h2sq8-47995738\",\"workflow-h2sq8-90470473\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-h2sq8-90470473\",\"name\":\"workflow-h2sq8.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-h2sq8\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-h2sq8\",\"startedAt\":\"2024-01-25T08:50:34Z\",\"finishedAt\":\"2024-01-25T08:51:28Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":46,\"memory\":306},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-h2sq8/workflow-h2sq8-model-train-afcf186-90470473/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 16:45:59', '2024-01-25 16:51:37', 'admin', '2024-01-25 16:46:04', 'admin', '2024-01-25 16:57:39', 1); -INSERT INTO `experiment_ins` VALUES (124, 353, 'workflow-2mbxc', 'argo', 'Succeeded', '{\"workflow-2mbxc\":{\"id\":\"workflow-2mbxc\",\"name\":\"workflow-2mbxc\",\"displayName\":\"workflow-2mbxc\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-2mbxc\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T08:46:02Z\",\"finishedAt\":\"2024-01-25T08:54:20Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":1023,\"memory\":11443},\"children\":[\"workflow-2mbxc-3560092551\"],\"outboundNodes\":[\"workflow-2mbxc-2191770720\",\"workflow-2mbxc-398510883\"]},\"model-train-7064f00\":{\"id\":\"workflow-2mbxc-1531295401\",\"name\":\"workflow-2mbxc.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-2mbxc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2mbxc\",\"startedAt\":\"2024-01-25T08:51:40Z\",\"finishedAt\":\"2024-01-25T08:52:31Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":44,\"memory\":503},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2mbxc/workflow-2mbxc-model-train-7064f00-1531295401/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-2mbxc-2191770720\",\"workflow-2mbxc-398510883\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-2mbxc-2191770720\",\"name\":\"workflow-2mbxc.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-2mbxc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2mbxc\",\"startedAt\":\"2024-01-25T08:52:41Z\",\"finishedAt\":\"2024-01-25T08:54:10Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":180,\"memory\":2296},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2mbxc/workflow-2mbxc-model-train-7fe21e4-2191770720/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"git-clone-58252975\":{\"id\":\"workflow-2mbxc-3560092551\",\"name\":\"workflow-2mbxc.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-2mbxc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2mbxc\",\"startedAt\":\"2024-01-25T08:46:02Z\",\"finishedAt\":\"2024-01-25T08:51:27Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":619,\"memory\":6348},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2mbxc/workflow-2mbxc-git-clone-58252975-3560092551/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-2mbxc-1531295401\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-2mbxc-398510883\",\"name\":\"workflow-2mbxc.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-2mbxc\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-2mbxc\",\"startedAt\":\"2024-01-25T08:52:41Z\",\"finishedAt\":\"2024-01-25T08:54:10Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":180,\"memory\":2296},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-2mbxc/workflow-2mbxc-model-train-afcf186-398510883/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-25 16:46:02', '2024-01-25 16:54:20', 'admin', '2024-01-25 16:46:07', 'admin', '2024-01-25 16:57:37', 1); -INSERT INTO `experiment_ins` VALUES (125, 353, 'workflow-sclzg', 'argo', 'Succeeded', '{\"workflow-sclzg\":{\"id\":\"workflow-sclzg\",\"name\":\"workflow-sclzg\",\"displayName\":\"workflow-sclzg\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-sclzg\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T08:46:05Z\",\"finishedAt\":\"2024-01-25T08:54:55Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":950,\"memory\":10445},\"children\":[\"workflow-sclzg-2379994644\"],\"outboundNodes\":[\"workflow-sclzg-4170858565\",\"workflow-sclzg-2010131202\"]},\"model-train-afcf186\":{\"id\":\"workflow-sclzg-2010131202\",\"name\":\"workflow-sclzg.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-sclzg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sclzg\",\"startedAt\":\"2024-01-25T08:53:02Z\",\"finishedAt\":\"2024-01-25T08:54:45Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":148,\"memory\":1880},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sclzg/workflow-sclzg-model-train-afcf186-2010131202/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"git-clone-58252975\":{\"id\":\"workflow-sclzg-2379994644\",\"name\":\"workflow-sclzg.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-sclzg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sclzg\",\"startedAt\":\"2024-01-25T08:46:05Z\",\"finishedAt\":\"2024-01-25T08:51:39Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":646,\"memory\":6761},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sclzg/workflow-sclzg-git-clone-58252975-2379994644/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-sclzg-2719661156\"],\"hostNodeName\":\"k8s-master-01\"},\"model-train-7064f00\":{\"id\":\"workflow-sclzg-2719661156\",\"name\":\"workflow-sclzg.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-sclzg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sclzg\",\"startedAt\":\"2024-01-25T08:51:45Z\",\"finishedAt\":\"2024-01-25T08:52:52Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":117,\"memory\":1542},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sclzg/workflow-sclzg-model-train-7064f00-2719661156/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-sclzg-4170858565\",\"workflow-sclzg-2010131202\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-sclzg-4170858565\",\"name\":\"workflow-sclzg.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-sclzg\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-sclzg\",\"startedAt\":\"2024-01-25T08:53:02Z\",\"finishedAt\":\"2024-01-25T08:53:59Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":39,\"memory\":262},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-sclzg/workflow-sclzg-model-train-7fe21e4-4170858565/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 16:46:05', '2024-01-25 16:54:55', 'admin', '2024-01-25 16:46:10', 'admin', '2024-01-25 16:57:37', 1); -INSERT INTO `experiment_ins` VALUES (126, 353, 'workflow-bzk7k', 'argo', 'Succeeded', '{\"workflow-bzk7k\":{\"id\":\"workflow-bzk7k\",\"name\":\"workflow-bzk7k\",\"displayName\":\"workflow-bzk7k\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-bzk7k\",\"phase\":\"Succeeded\",\"startedAt\":\"2024-01-25T08:46:09Z\",\"finishedAt\":\"2024-01-25T08:54:52Z\",\"progress\":\"4/4\",\"resourcesDuration\":{\"cpu\":892,\"memory\":9675},\"children\":[\"workflow-bzk7k-2385632250\"],\"outboundNodes\":[\"workflow-bzk7k-1130390195\",\"workflow-bzk7k-1636016724\"]},\"model-train-7fe21e4\":{\"id\":\"workflow-bzk7k-1130390195\",\"name\":\"workflow-bzk7k.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-bzk7k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bzk7k\",\"startedAt\":\"2024-01-25T08:52:58Z\",\"finishedAt\":\"2024-01-25T08:53:44Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":40,\"memory\":421},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bzk7k/workflow-bzk7k-model-train-7fe21e4-1130390195/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-master-01\"},\"model-train-afcf186\":{\"id\":\"workflow-bzk7k-1636016724\",\"name\":\"workflow-bzk7k.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-bzk7k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bzk7k\",\"startedAt\":\"2024-01-25T08:52:58Z\",\"finishedAt\":\"2024-01-25T08:54:42Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":159,\"memory\":2046},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bzk7k/workflow-bzk7k-model-train-afcf186-1636016724/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"},\"git-clone-58252975\":{\"id\":\"workflow-bzk7k-2385632250\",\"name\":\"workflow-bzk7k.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-bzk7k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bzk7k\",\"startedAt\":\"2024-01-25T08:46:09Z\",\"finishedAt\":\"2024-01-25T08:51:41Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":646,\"memory\":6742},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bzk7k/workflow-bzk7k-git-clone-58252975-2385632250/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bzk7k-515135690\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-7064f00\":{\"id\":\"workflow-bzk7k-515135690\",\"name\":\"workflow-bzk7k.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-bzk7k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-bzk7k\",\"startedAt\":\"2024-01-25T08:51:50Z\",\"finishedAt\":\"2024-01-25T08:52:45Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":47,\"memory\":466},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-bzk7k/workflow-bzk7k-model-train-7064f00-515135690/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-bzk7k-1130390195\",\"workflow-bzk7k-1636016724\"],\"hostNodeName\":\"k8s-master-01\"}}', NULL, '2024-01-25 16:46:09', '2024-01-25 16:54:52', 'admin', '2024-01-25 16:46:14', 'admin', '2024-01-25 16:57:36', 1); -INSERT INTO `experiment_ins` VALUES (127, 354, 'workflow-nxg8k', 'argo', 'Failed', '{\"workflow-nxg8k\":{\"id\":\"workflow-nxg8k\",\"name\":\"workflow-nxg8k\",\"displayName\":\"workflow-nxg8k\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-nxg8k\",\"phase\":\"Failed\",\"startedAt\":\"2024-01-25T08:57:25Z\",\"finishedAt\":\"2024-01-25T09:01:18Z\",\"progress\":\"3/4\",\"resourcesDuration\":{\"cpu\":376,\"memory\":4105},\"children\":[\"workflow-nxg8k-3569437117\"],\"outboundNodes\":[\"workflow-nxg8k-418598526\",\"workflow-nxg8k-399472701\"]},\"model-train-7064f00\":{\"id\":\"workflow-nxg8k-3487187791\",\"name\":\"workflow-nxg8k.model-train-7064f00\",\"displayName\":\"model-train-7064f00\",\"type\":\"Pod\",\"templateName\":\"model-train-7064f00\",\"templateScope\":\"local/workflow-nxg8k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nxg8k\",\"startedAt\":\"2024-01-25T08:59:42Z\",\"finishedAt\":\"2024-01-25T09:00:20Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":70,\"memory\":877},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nxg8k/workflow-nxg8k-model-train-7064f00-3487187791/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nxg8k-418598526\",\"workflow-nxg8k-399472701\"],\"hostNodeName\":\"k8s-node-01\"},\"git-clone-58252975\":{\"id\":\"workflow-nxg8k-3569437117\",\"name\":\"workflow-nxg8k.git-clone-58252975\",\"displayName\":\"git-clone-58252975\",\"type\":\"Pod\",\"templateName\":\"git-clone-58252975\",\"templateScope\":\"local/workflow-nxg8k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nxg8k\",\"startedAt\":\"2024-01-25T08:57:25Z\",\"finishedAt\":\"2024-01-25T08:59:33Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":233,\"memory\":2430},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nxg8k/workflow-nxg8k-git-clone-58252975-3569437117/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-nxg8k-3487187791\"],\"hostNodeName\":\"k8s-node-01\"},\"model-train-afcf186\":{\"id\":\"workflow-nxg8k-399472701\",\"name\":\"workflow-nxg8k.model-train-afcf186\",\"displayName\":\"model-train-afcf186\",\"type\":\"Pod\",\"templateName\":\"model-train-afcf186\",\"templateScope\":\"local/workflow-nxg8k\",\"phase\":\"Failed\",\"boundaryID\":\"workflow-nxg8k\",\"message\":\"Error (exit code 2)\",\"startedAt\":\"2024-01-25T09:00:30Z\",\"finishedAt\":\"2024-01-25T09:00:51Z\",\"progress\":\"0/1\",\"resourcesDuration\":{\"cpu\":10,\"memory\":45},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nxg8k/workflow-nxg8k-model-train-afcf186-399472701/main.log\"}}],\"exitCode\":\"2\"},\"hostNodeName\":\"k8s-node-01\"},\"model-train-7fe21e4\":{\"id\":\"workflow-nxg8k-418598526\",\"name\":\"workflow-nxg8k.model-train-7fe21e4\",\"displayName\":\"model-train-7fe21e4\",\"type\":\"Pod\",\"templateName\":\"model-train-7fe21e4\",\"templateScope\":\"local/workflow-nxg8k\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-nxg8k\",\"startedAt\":\"2024-01-25T09:00:30Z\",\"finishedAt\":\"2024-01-25T09:01:08Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":63,\"memory\":753},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-nxg8k/workflow-nxg8k-model-train-7fe21e4-418598526/main.log\"}}],\"exitCode\":\"0\"},\"hostNodeName\":\"k8s-node-01\"}}', NULL, '2024-01-25 16:57:25', '2024-01-25 17:01:18', 'admin', '2024-01-25 16:57:30', 'admin', '2024-01-25 17:01:29', 1); -- ---------------------------- -- Table structure for gen_table @@ -385,7 +294,7 @@ CREATE TABLE `gen_table` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`table_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of gen_table @@ -419,12 +328,62 @@ CREATE TABLE `gen_table_column` ( `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`column_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of gen_table_column -- ---------------------------- +-- ---------------------------- +-- Table structure for image +-- ---------------------------- +DROP TABLE IF EXISTS `image`; +CREATE TABLE `image` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像名称', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像描述', + `image_type` int(11) NULL DEFAULT NULL COMMENT '镜像类型', + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `state` int(11) NULL DEFAULT NULL COMMENT '状态,0失效,1生效', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of image +-- ---------------------------- +INSERT INTO `image` VALUES (7, 'pytorch:1.9.8', '镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像', NULL, 'admin', '2024-03-06 14:42:05', 'admin', '2024-03-06 15:08:04', 1); +INSERT INTO `image` VALUES (8, 'pytorch:1.9.8', '镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像', NULL, 'admin', '2024-03-06 14:56:36', 'admin', '2024-03-06 15:08:12', 1); +INSERT INTO `image` VALUES (9, 'pytorch:1.9.7', 'ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本', NULL, 'admin', '2024-03-06 14:56:41', 'admin', '2024-03-06 14:56:41', 1); +INSERT INTO `image` VALUES (10, 'pytorch:1.9.8', 'ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本', NULL, 'admin', '2024-03-06 14:56:44', 'admin', '2024-03-06 14:56:44', 1); +INSERT INTO `image` VALUES (11, 'pytorch:1.9.9', '镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像', NULL, 'admin', '2024-03-07 15:13:18', 'admin', '2024-03-07 15:13:18', 1); + +-- ---------------------------- +-- Table structure for image_version +-- ---------------------------- +DROP TABLE IF EXISTS `image_version`; +CREATE TABLE `image_version` ( + `id` int(11) NOT NULL COMMENT '主键', + `image_id` int(11) NULL DEFAULT NULL COMMENT '对应的镜像id', + `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像版本', + `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像推送地址', + `tag_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像tag名称', + `file_size` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像文件大小', + `status` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像构建状态', + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `state` int(11) NULL DEFAULT NULL COMMENT '状态,0失效,1生效', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of image_version +-- ---------------------------- + -- ---------------------------- -- Table structure for models -- ---------------------------- @@ -432,72 +391,52 @@ DROP TABLE IF EXISTS `models`; CREATE TABLE `models` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `model_type` int(11) NULL DEFAULT NULL, + `available_range` int(11) NULL DEFAULT NULL COMMENT '1公开,0私有', + `model_type` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模型类别', + `model_tag` int(11) NULL DEFAULT NULL COMMENT '模型tag', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', + `state` int(11) NULL DEFAULT 1 COMMENT '0,失效 1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of models -- ---------------------------- -INSERT INTO `models` VALUES (1, 'start_workflow.json', NULL, NULL, 'models/苏影城/start_workflow.json', NULL, '苏影城', '2023-12-26 16:10:39', '苏影城', '2023-12-26 16:10:39', 0); -INSERT INTO `models` VALUES (2, 'package-lock.json', 'v2.0', '计算机视觉手写体识别mnist数据集 二次修改', 'models/苏影城/package-lock.json-20231227-135255/workspace.postman_globals.json', NULL, '苏影城', '2023-12-28 13:58:49', 'admin', '2023-12-28 13:58:49', 1); -INSERT INTO `models` VALUES (3, 'mnist', 'v1.0', '计算机视觉手写体识别模型修改版', NULL, 1, 'admin', '2023-12-28 14:16:34', 'admin', '2023-12-28 14:16:34', 1); -INSERT INTO `models` VALUES (4, 'mnist', 'v1.0', '计算机视觉手写体识别模型修改版', 'models/admin/mnist-20231228-141659/zh_ar_raw_2400.zip', 1, 'admin', '2023-12-28 14:16:59', 'admin', '2023-12-28 14:29:33', 0); -INSERT INTO `models` VALUES (5, 'mnist', 'v1.0', '计算机视觉手写体识模型', 'models/admin/mnist-20231228-150912/v1.0/ssd_80C_500E.ckpt', 1, 'admin', '2023-12-28 15:09:12', 'admin', '2024-01-02 15:47:12', 1); -INSERT INTO `models` VALUES (6, 'mnist', 'v1.0', '计算机视觉手写体识模型2-24', NULL, 1, 'admin', '2024-01-02 15:46:25', 'admin', '2024-01-02 15:46:25', 1); -INSERT INTO `models` VALUES (7, 'caffee', NULL, 'caffe模型', NULL, 1, 'admin', '2024-01-18 11:00:26', 'admin', '2024-01-18 11:00:26', 1); -- ---------------------------- -- Table structure for models_version -- ---------------------------- DROP TABLE IF EXISTS `models_version`; CREATE TABLE `models_version` ( - `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键', - `models_id` int(4) NOT NULL, + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `models_id` int(11) NOT NULL, `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '版本', `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模型存储地址', - `file_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名', + `file_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名', `file_size` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件大小', - `status` int(4) NULL DEFAULT NULL COMMENT '状态', + `status` int(11) NULL DEFAULT NULL COMMENT '状态', `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT NULL COMMENT '0失效,1生效', + `state` int(11) NULL DEFAULT NULL COMMENT '0失效,1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of models_version -- ---------------------------- -INSERT INTO `models_version` VALUES (1, 6, '2.0', 'models/admin/mnist-20240108-163240/2.0/xxxx.tar', 'xxxx.tar', '122312', 1, 'admin', '2024-01-08 16:32:40', 'admin', '2024-01-15 15:17:51', 1); -INSERT INTO `models_version` VALUES (2, 6, '2.0', 'models/admin/mnist-20240113-095729/2.0/start_workflow.json', 'start_workflow.json', '13.6318359375', 1, 'admin', '2024-01-13 09:57:29', 'admin', '2024-01-13 09:57:29', 0); -INSERT INTO `models_version` VALUES (3, 6, '2.0', NULL, NULL, NULL, 1, 'admin', '2024-01-13 10:08:43', 'admin', '2024-01-13 10:08:43', 0); -INSERT INTO `models_version` VALUES (4, 6, '2.0', 'models/admin/mnist-20240113-100842/2.0/package-lock.json', 'package-lock.json', '0.0869140625', 1, 'admin', '2024-01-13 10:08:43', 'admin', '2024-01-13 10:08:43', 0); -INSERT INTO `models_version` VALUES (5, 6, '2.0', 'models/admin/mnist-20240113-104315/2.0/comonent-register.json', 'comonent-register.json', '1.1181640625', 1, 'admin', '2024-01-13 10:43:15', 'admin', '2024-01-13 10:43:15', 0); -INSERT INTO `models_version` VALUES (6, 6, '2.0', NULL, NULL, NULL, 1, 'admin', '2024-01-13 10:44:28', 'admin', '2024-01-13 10:44:28', 1); -INSERT INTO `models_version` VALUES (7, 6, '2.0', 'models/admin/mnist-20240113-104428/2.0/start_workflow.json', 'start_workflow.json', '13.6318359375', 1, 'admin', '2024-01-13 10:44:28', 'admin', '2024-01-13 10:44:28', 0); -INSERT INTO `models_version` VALUES (8, 6, '2.0', 'models/admin/mnist-20240113-104551/2.0/comonent-register.json', 'comonent-register.json', '1.1181640625', 1, 'admin', '2024-01-13 10:45:51', 'admin', '2024-01-13 10:45:51', 0); -INSERT INTO `models_version` VALUES (9, 6, '2.0', 'models/admin/mnist-20240113-135533/2.0/comonent-register.json', 'comonent-register.json', '1.1181640625', 1, 'admin', '2024-01-13 13:55:34', 'admin', '2024-01-13 13:55:34', 1); -INSERT INTO `models_version` VALUES (10, 7, 'v0.1.0', 'models/admin/caffee-20240118-113725/v0.1.0/config', 'config', '5.5KB', 0, 'admin', '2024-01-18 11:37:26', 'admin', '2024-01-18 11:37:26', 1); -INSERT INTO `models_version` VALUES (11, 7, 'v0.5.0', 'models/admin/caffee-20240118-114010/v0.5.0/config', 'config', '5.5 KiB', 0, 'admin', '2024-01-18 11:40:11', 'admin', '2024-01-18 11:40:11', 1); -INSERT INTO `models_version` VALUES (12, 7, 'v0.3.0', 'models/admin/caffee-20240118-114040/v0.3.0/config', 'config', '5.5KB', 0, 'admin', '2024-01-18 11:40:41', 'admin', '2024-01-18 11:40:41', 1); -INSERT INTO `models_version` VALUES (13, 7, 'v0.4.0', 'models/admin/caffee-20240118-114049/v0.4.0/config', 'config', '5.5 KiB', 0, 'admin', '2024-01-18 11:40:49', 'admin', '2024-01-18 11:40:49', 1); -- ---------------------------- -- Table structure for sys_config -- ---------------------------- DROP TABLE IF EXISTS `sys_config`; CREATE TABLE `sys_config` ( - `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '参数主键', `config_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '参数名称', `config_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '参数键名', `config_value` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '参数键值', @@ -508,7 +447,7 @@ CREATE TABLE `sys_config` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`config_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_config @@ -528,7 +467,7 @@ CREATE TABLE `sys_dept` ( `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父部门id', `ancestors` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '祖级列表', `dept_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '部门名称', - `order_num` int(4) NULL DEFAULT 0 COMMENT '显示顺序', + `order_num` int(11) NULL DEFAULT 0 COMMENT '显示顺序', `leader` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '负责人', `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系电话', `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱', @@ -539,7 +478,7 @@ CREATE TABLE `sys_dept` ( `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`dept_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 110 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 110 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dept @@ -561,7 +500,7 @@ INSERT INTO `sys_dept` VALUES (109, 102, '0,100,102', '财务部门', 2, '若依 DROP TABLE IF EXISTS `sys_dict_data`; CREATE TABLE `sys_dict_data` ( `dict_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码', - `dict_sort` int(4) NULL DEFAULT 0 COMMENT '字典排序', + `dict_sort` int(11) NULL DEFAULT 0 COMMENT '字典排序', `dict_label` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典标签', `dict_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典键值', `dict_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型', @@ -575,7 +514,7 @@ CREATE TABLE `sys_dict_data` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`dict_code`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dict_data @@ -614,6 +553,12 @@ INSERT INTO `sys_dict_data` VALUES (36, 2, '模型训练', '2', 'category_type', INSERT INTO `sys_dict_data` VALUES (37, 3, '分布式模型训练', '3', 'category_type', NULL, NULL, 'N', '0', 'admin', '2024-01-13 16:28:22', '', NULL, NULL); INSERT INTO `sys_dict_data` VALUES (38, 4, '数据导出', '4', 'category_type', NULL, NULL, 'N', '0', 'admin', '2024-01-13 16:28:33', '', NULL, NULL); INSERT INTO `sys_dict_data` VALUES (39, 5, '数据处理', '5', 'category_type', NULL, NULL, 'N', '0', 'admin', '2024-01-13 16:28:41', '', NULL, NULL); +INSERT INTO `sys_dict_data` VALUES (40, 1, 'NPU', 'NPU', 'available_cluster', NULL, NULL, 'N', '0', 'admin', '2024-03-08 10:47:31', '', NULL, NULL); +INSERT INTO `sys_dict_data` VALUES (41, 2, 'GPU', 'GPU', 'available_cluster', NULL, NULL, 'N', '0', 'admin', '2024-03-08 10:47:43', '', NULL, NULL); +INSERT INTO `sys_dict_data` VALUES (42, 1, '数据集分类', '1', 'dataset_models_category', NULL, NULL, 'N', '0', 'admin', '2024-03-14 17:03:02', '', NULL, NULL); +INSERT INTO `sys_dict_data` VALUES (43, 2, '研究方向/应用领域', '2', 'dataset_models_category', NULL, NULL, 'N', '0', 'admin', '2024-03-14 17:03:38', '', NULL, NULL); +INSERT INTO `sys_dict_data` VALUES (44, 3, '模型框架', '3', 'dataset_models_category', NULL, NULL, 'N', '0', 'admin', '2024-03-14 17:03:50', '', NULL, NULL); +INSERT INTO `sys_dict_data` VALUES (45, 4, '模型能力', '4', 'dataset_models_category', NULL, NULL, 'N', '0', 'admin', '2024-03-14 17:04:15', '', NULL, NULL); -- ---------------------------- -- Table structure for sys_dict_type @@ -631,7 +576,7 @@ CREATE TABLE `sys_dict_type` ( `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`dict_id`) USING BTREE, UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dict_type @@ -647,6 +592,8 @@ INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '操作类型列表'); INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '登录状态列表'); INSERT INTO `sys_dict_type` VALUES (12, '组件类型', 'category_type', '0', 'admin', '2024-01-13 16:27:29', '', NULL, '组件类型'); +INSERT INTO `sys_dict_type` VALUES (13, '可用集群', 'available_cluster', '0', 'admin', '2024-03-08 10:47:11', '', NULL, NULL); +INSERT INTO `sys_dict_type` VALUES (14, '数据集模型类别', 'dataset_models_category', '0', 'admin', '2024-03-14 17:02:19', '', NULL, NULL); -- ---------------------------- -- Table structure for sys_job @@ -667,7 +614,7 @@ CREATE TABLE `sys_job` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注信息', PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_job @@ -690,7 +637,7 @@ CREATE TABLE `sys_job_log` ( `exception_info` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '异常信息', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`job_log_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_job_log @@ -710,7 +657,7 @@ CREATE TABLE `sys_logininfor` ( PRIMARY KEY (`info_id`) USING BTREE, INDEX `idx_sys_logininfor_s`(`status`) USING BTREE, INDEX `idx_sys_logininfor_lt`(`access_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 184 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 400 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_logininfor @@ -799,6 +746,222 @@ INSERT INTO `sys_logininfor` VALUES (180, 'admin', '172.20.32.21', '0', '登录 INSERT INTO `sys_logininfor` VALUES (181, 'admin', '172.20.32.150', '0', '登录成功', '2024-01-25 16:45:03'); INSERT INTO `sys_logininfor` VALUES (182, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-26 08:50:04'); INSERT INTO `sys_logininfor` VALUES (183, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-26 09:26:54'); +INSERT INTO `sys_logininfor` VALUES (184, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-26 10:03:03'); +INSERT INTO `sys_logininfor` VALUES (185, 'admin', '172.20.32.102', '0', '登录成功', '2024-01-26 14:38:19'); +INSERT INTO `sys_logininfor` VALUES (186, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 08:45:55'); +INSERT INTO `sys_logininfor` VALUES (187, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 08:53:23'); +INSERT INTO `sys_logininfor` VALUES (188, 'admin', '172.20.32.150', '0', '登录成功', '2024-01-27 09:29:52'); +INSERT INTO `sys_logininfor` VALUES (189, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 11:19:44'); +INSERT INTO `sys_logininfor` VALUES (190, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 13:57:13'); +INSERT INTO `sys_logininfor` VALUES (191, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 13:59:17'); +INSERT INTO `sys_logininfor` VALUES (192, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 15:56:05'); +INSERT INTO `sys_logininfor` VALUES (193, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 15:59:01'); +INSERT INTO `sys_logininfor` VALUES (194, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-27 15:59:03'); +INSERT INTO `sys_logininfor` VALUES (195, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-29 10:01:03'); +INSERT INTO `sys_logininfor` VALUES (196, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-29 10:01:09'); +INSERT INTO `sys_logininfor` VALUES (197, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-29 10:49:05'); +INSERT INTO `sys_logininfor` VALUES (198, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-29 10:49:50'); +INSERT INTO `sys_logininfor` VALUES (199, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-29 14:30:01'); +INSERT INTO `sys_logininfor` VALUES (200, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-30 11:23:14'); +INSERT INTO `sys_logininfor` VALUES (201, 'admin', '172.20.32.150', '0', '登录成功', '2024-01-30 14:23:38'); +INSERT INTO `sys_logininfor` VALUES (202, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-30 14:49:02'); +INSERT INTO `sys_logininfor` VALUES (203, 'admin', '172.20.32.21', '0', '登录成功', '2024-01-31 11:04:06'); +INSERT INTO `sys_logininfor` VALUES (204, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-01 15:03:30'); +INSERT INTO `sys_logininfor` VALUES (205, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-01 15:48:00'); +INSERT INTO `sys_logininfor` VALUES (206, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-02 09:32:51'); +INSERT INTO `sys_logininfor` VALUES (207, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-02 09:40:44'); +INSERT INTO `sys_logininfor` VALUES (208, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-02 09:43:15'); +INSERT INTO `sys_logininfor` VALUES (209, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-02 09:48:48'); +INSERT INTO `sys_logininfor` VALUES (210, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-02 14:59:21'); +INSERT INTO `sys_logininfor` VALUES (211, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-03 09:08:54'); +INSERT INTO `sys_logininfor` VALUES (212, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-03 10:08:52'); +INSERT INTO `sys_logininfor` VALUES (213, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-04 09:23:08'); +INSERT INTO `sys_logininfor` VALUES (214, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-19 10:17:29'); +INSERT INTO `sys_logininfor` VALUES (215, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-20 09:27:09'); +INSERT INTO `sys_logininfor` VALUES (216, 'admin', '172.20.32.21', '1', '密码输入错误1次', '2024-02-20 14:25:19'); +INSERT INTO `sys_logininfor` VALUES (217, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-20 14:25:29'); +INSERT INTO `sys_logininfor` VALUES (218, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-20 16:47:02'); +INSERT INTO `sys_logininfor` VALUES (219, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-21 08:49:28'); +INSERT INTO `sys_logininfor` VALUES (220, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-21 10:58:11'); +INSERT INTO `sys_logininfor` VALUES (221, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-23 10:01:35'); +INSERT INTO `sys_logininfor` VALUES (222, 'admin', '172.20.32.21', '1', '密码输入错误1次', '2024-02-23 14:00:03'); +INSERT INTO `sys_logininfor` VALUES (223, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-23 14:00:16'); +INSERT INTO `sys_logininfor` VALUES (224, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-26 10:48:14'); +INSERT INTO `sys_logininfor` VALUES (225, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-26 10:50:13'); +INSERT INTO `sys_logininfor` VALUES (226, 'admin', '172.20.32.98', '0', '登录成功', '2024-02-26 14:42:38'); +INSERT INTO `sys_logininfor` VALUES (227, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-26 15:21:50'); +INSERT INTO `sys_logininfor` VALUES (228, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-26 17:03:56'); +INSERT INTO `sys_logininfor` VALUES (229, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-27 08:41:46'); +INSERT INTO `sys_logininfor` VALUES (230, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-27 09:59:00'); +INSERT INTO `sys_logininfor` VALUES (231, 'admin', '172.20.32.98', '0', '登录成功', '2024-02-27 14:54:31'); +INSERT INTO `sys_logininfor` VALUES (232, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-27 15:56:39'); +INSERT INTO `sys_logininfor` VALUES (233, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-28 09:10:20'); +INSERT INTO `sys_logininfor` VALUES (234, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-28 09:52:22'); +INSERT INTO `sys_logininfor` VALUES (235, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-28 14:30:01'); +INSERT INTO `sys_logininfor` VALUES (236, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-28 14:38:03'); +INSERT INTO `sys_logininfor` VALUES (237, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-29 08:33:35'); +INSERT INTO `sys_logininfor` VALUES (238, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-29 08:41:46'); +INSERT INTO `sys_logininfor` VALUES (239, 'admin', '172.20.32.21', '0', '登录成功', '2024-02-29 09:34:12'); +INSERT INTO `sys_logininfor` VALUES (240, 'admin', '172.20.32.98', '0', '登录成功', '2024-02-29 14:27:04'); +INSERT INTO `sys_logininfor` VALUES (241, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-01 08:50:37'); +INSERT INTO `sys_logininfor` VALUES (242, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-01 09:33:45'); +INSERT INTO `sys_logininfor` VALUES (243, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-01 10:30:22'); +INSERT INTO `sys_logininfor` VALUES (244, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-01 11:08:32'); +INSERT INTO `sys_logininfor` VALUES (245, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-02 08:46:47'); +INSERT INTO `sys_logininfor` VALUES (246, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-02 08:50:46'); +INSERT INTO `sys_logininfor` VALUES (247, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-02 09:04:22'); +INSERT INTO `sys_logininfor` VALUES (248, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-02 09:16:31'); +INSERT INTO `sys_logininfor` VALUES (249, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-04 08:35:10'); +INSERT INTO `sys_logininfor` VALUES (250, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-04 08:38:49'); +INSERT INTO `sys_logininfor` VALUES (251, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-04 08:42:55'); +INSERT INTO `sys_logininfor` VALUES (252, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-04 08:56:16'); +INSERT INTO `sys_logininfor` VALUES (253, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-05 08:34:18'); +INSERT INTO `sys_logininfor` VALUES (254, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-05 10:01:06'); +INSERT INTO `sys_logininfor` VALUES (255, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-05 15:14:42'); +INSERT INTO `sys_logininfor` VALUES (256, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-05 16:35:06'); +INSERT INTO `sys_logininfor` VALUES (257, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-05 16:37:38'); +INSERT INTO `sys_logininfor` VALUES (258, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-06 08:55:56'); +INSERT INTO `sys_logininfor` VALUES (259, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-06 09:41:05'); +INSERT INTO `sys_logininfor` VALUES (260, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-06 11:18:11'); +INSERT INTO `sys_logininfor` VALUES (261, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-06 14:23:19'); +INSERT INTO `sys_logininfor` VALUES (262, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-06 14:42:52'); +INSERT INTO `sys_logininfor` VALUES (263, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-06 17:30:13'); +INSERT INTO `sys_logininfor` VALUES (264, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-07 09:06:07'); +INSERT INTO `sys_logininfor` VALUES (265, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-07 13:38:26'); +INSERT INTO `sys_logininfor` VALUES (266, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-07 13:53:37'); +INSERT INTO `sys_logininfor` VALUES (267, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-07 15:07:10'); +INSERT INTO `sys_logininfor` VALUES (268, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-08 08:34:41'); +INSERT INTO `sys_logininfor` VALUES (269, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-08 08:41:51'); +INSERT INTO `sys_logininfor` VALUES (270, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-08 09:32:58'); +INSERT INTO `sys_logininfor` VALUES (271, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-08 10:01:03'); +INSERT INTO `sys_logininfor` VALUES (272, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-08 10:46:39'); +INSERT INTO `sys_logininfor` VALUES (273, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-11 08:39:25'); +INSERT INTO `sys_logininfor` VALUES (274, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-11 08:39:44'); +INSERT INTO `sys_logininfor` VALUES (275, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-11 09:45:39'); +INSERT INTO `sys_logininfor` VALUES (276, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-11 10:40:42'); +INSERT INTO `sys_logininfor` VALUES (277, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-12 09:14:57'); +INSERT INTO `sys_logininfor` VALUES (278, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-12 09:16:44'); +INSERT INTO `sys_logininfor` VALUES (279, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-12 15:36:34'); +INSERT INTO `sys_logininfor` VALUES (280, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-12 15:45:39'); +INSERT INTO `sys_logininfor` VALUES (281, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-13 08:54:50'); +INSERT INTO `sys_logininfor` VALUES (282, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-13 08:57:09'); +INSERT INTO `sys_logininfor` VALUES (283, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-13 09:19:31'); +INSERT INTO `sys_logininfor` VALUES (284, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-13 15:15:34'); +INSERT INTO `sys_logininfor` VALUES (285, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-14 09:52:52'); +INSERT INTO `sys_logininfor` VALUES (286, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-14 10:02:30'); +INSERT INTO `sys_logininfor` VALUES (287, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-14 10:52:08'); +INSERT INTO `sys_logininfor` VALUES (288, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-14 10:52:17'); +INSERT INTO `sys_logininfor` VALUES (289, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-14 10:57:02'); +INSERT INTO `sys_logininfor` VALUES (290, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-14 14:14:22'); +INSERT INTO `sys_logininfor` VALUES (291, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-14 17:00:21'); +INSERT INTO `sys_logininfor` VALUES (292, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-15 09:32:41'); +INSERT INTO `sys_logininfor` VALUES (293, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-15 09:36:12'); +INSERT INTO `sys_logininfor` VALUES (294, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-15 11:51:44'); +INSERT INTO `sys_logininfor` VALUES (295, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-15 13:33:49'); +INSERT INTO `sys_logininfor` VALUES (296, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-16 09:45:50'); +INSERT INTO `sys_logininfor` VALUES (297, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-16 10:38:13'); +INSERT INTO `sys_logininfor` VALUES (298, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-16 13:54:00'); +INSERT INTO `sys_logininfor` VALUES (299, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-16 14:45:29'); +INSERT INTO `sys_logininfor` VALUES (300, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-16 15:25:44'); +INSERT INTO `sys_logininfor` VALUES (301, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-16 16:29:37'); +INSERT INTO `sys_logininfor` VALUES (302, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-16 16:54:25'); +INSERT INTO `sys_logininfor` VALUES (303, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-18 09:26:48'); +INSERT INTO `sys_logininfor` VALUES (304, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-18 09:28:44'); +INSERT INTO `sys_logininfor` VALUES (305, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-18 09:40:38'); +INSERT INTO `sys_logininfor` VALUES (306, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-18 15:20:58'); +INSERT INTO `sys_logininfor` VALUES (307, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-18 16:35:20'); +INSERT INTO `sys_logininfor` VALUES (308, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-18 16:36:00'); +INSERT INTO `sys_logininfor` VALUES (309, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-18 17:06:35'); +INSERT INTO `sys_logininfor` VALUES (310, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-19 08:31:02'); +INSERT INTO `sys_logininfor` VALUES (311, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-19 08:33:34'); +INSERT INTO `sys_logininfor` VALUES (312, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-19 08:42:09'); +INSERT INTO `sys_logininfor` VALUES (313, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-19 09:14:45'); +INSERT INTO `sys_logininfor` VALUES (314, 'xidaray', '172.20.32.98', '1', '登录用户不存在', '2024-03-19 09:16:39'); +INSERT INTO `sys_logininfor` VALUES (315, 'ry', '172.20.32.98', '1', '密码输入错误1次', '2024-03-19 09:16:53'); +INSERT INTO `sys_logininfor` VALUES (316, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-19 09:17:06'); +INSERT INTO `sys_logininfor` VALUES (317, 'ry', '172.20.32.98', '0', '登录成功', '2024-03-19 09:20:23'); +INSERT INTO `sys_logininfor` VALUES (318, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-19 11:00:12'); +INSERT INTO `sys_logininfor` VALUES (319, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-19 11:01:17'); +INSERT INTO `sys_logininfor` VALUES (320, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-19 11:47:39'); +INSERT INTO `sys_logininfor` VALUES (321, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 08:31:02'); +INSERT INTO `sys_logininfor` VALUES (322, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 08:54:54'); +INSERT INTO `sys_logininfor` VALUES (323, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 09:04:07'); +INSERT INTO `sys_logininfor` VALUES (324, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 10:08:28'); +INSERT INTO `sys_logininfor` VALUES (325, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 10:11:32'); +INSERT INTO `sys_logininfor` VALUES (326, 'admin', '172.20.32.98', '0', '登录成功', '2024-03-20 10:14:04'); +INSERT INTO `sys_logininfor` VALUES (327, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 10:15:36'); +INSERT INTO `sys_logininfor` VALUES (328, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 10:15:55'); +INSERT INTO `sys_logininfor` VALUES (329, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 11:23:32'); +INSERT INTO `sys_logininfor` VALUES (330, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 13:53:08'); +INSERT INTO `sys_logininfor` VALUES (331, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-20 16:35:50'); +INSERT INTO `sys_logininfor` VALUES (332, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-21 08:32:55'); +INSERT INTO `sys_logininfor` VALUES (333, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-21 08:51:26'); +INSERT INTO `sys_logininfor` VALUES (334, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-21 08:52:13'); +INSERT INTO `sys_logininfor` VALUES (335, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-21 08:55:53'); +INSERT INTO `sys_logininfor` VALUES (336, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-21 08:59:19'); +INSERT INTO `sys_logininfor` VALUES (337, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-21 09:22:09'); +INSERT INTO `sys_logininfor` VALUES (338, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-22 08:31:52'); +INSERT INTO `sys_logininfor` VALUES (339, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-22 08:55:30'); +INSERT INTO `sys_logininfor` VALUES (340, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-22 09:00:32'); +INSERT INTO `sys_logininfor` VALUES (341, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 09:31:47'); +INSERT INTO `sys_logininfor` VALUES (342, 'admin', '172.20.32.21', '1', '密码输入错误1次', '2024-03-25 09:32:55'); +INSERT INTO `sys_logininfor` VALUES (343, 'admin', '172.20.32.21', '1', '密码输入错误2次', '2024-03-25 09:33:00'); +INSERT INTO `sys_logininfor` VALUES (344, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 09:33:17'); +INSERT INTO `sys_logininfor` VALUES (345, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 09:34:44'); +INSERT INTO `sys_logininfor` VALUES (346, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 09:41:01'); +INSERT INTO `sys_logininfor` VALUES (347, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 09:52:20'); +INSERT INTO `sys_logininfor` VALUES (348, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 10:12:33'); +INSERT INTO `sys_logininfor` VALUES (349, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 10:13:46'); +INSERT INTO `sys_logininfor` VALUES (350, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 10:17:01'); +INSERT INTO `sys_logininfor` VALUES (351, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 10:36:35'); +INSERT INTO `sys_logininfor` VALUES (352, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 11:02:04'); +INSERT INTO `sys_logininfor` VALUES (353, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-25 14:14:10'); +INSERT INTO `sys_logininfor` VALUES (354, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-25 14:30:51'); +INSERT INTO `sys_logininfor` VALUES (355, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-26 08:53:58'); +INSERT INTO `sys_logininfor` VALUES (356, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-26 10:06:43'); +INSERT INTO `sys_logininfor` VALUES (357, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-26 10:54:43'); +INSERT INTO `sys_logininfor` VALUES (358, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-26 13:54:31'); +INSERT INTO `sys_logininfor` VALUES (359, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-26 15:53:55'); +INSERT INTO `sys_logininfor` VALUES (360, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-26 16:59:12'); +INSERT INTO `sys_logininfor` VALUES (361, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-26 17:16:28'); +INSERT INTO `sys_logininfor` VALUES (362, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 08:35:53'); +INSERT INTO `sys_logininfor` VALUES (363, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 08:41:39'); +INSERT INTO `sys_logininfor` VALUES (364, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 09:54:05'); +INSERT INTO `sys_logininfor` VALUES (365, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-27 10:09:57'); +INSERT INTO `sys_logininfor` VALUES (366, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-27 11:21:29'); +INSERT INTO `sys_logininfor` VALUES (367, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-27 11:42:19'); +INSERT INTO `sys_logininfor` VALUES (368, 'admin', '172.20.32.21', '1', '密码输入错误1次', '2024-03-27 11:47:27'); +INSERT INTO `sys_logininfor` VALUES (369, 'admin', '172.20.32.21', '1', '密码输入错误2次', '2024-03-27 11:47:34'); +INSERT INTO `sys_logininfor` VALUES (370, 'admin', '172.20.32.21', '1', '密码输入错误3次', '2024-03-27 11:47:41'); +INSERT INTO `sys_logininfor` VALUES (371, 'admin', '172.20.32.21', '0', '登录成功', '2024-03-27 11:47:48'); +INSERT INTO `sys_logininfor` VALUES (372, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 17:08:52'); +INSERT INTO `sys_logininfor` VALUES (373, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 17:09:38'); +INSERT INTO `sys_logininfor` VALUES (374, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 17:20:21'); +INSERT INTO `sys_logininfor` VALUES (375, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-27 17:26:41'); +INSERT INTO `sys_logininfor` VALUES (376, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-28 09:50:44'); +INSERT INTO `sys_logininfor` VALUES (377, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-28 10:12:11'); +INSERT INTO `sys_logininfor` VALUES (378, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-28 10:13:08'); +INSERT INTO `sys_logininfor` VALUES (379, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-28 10:14:39'); +INSERT INTO `sys_logininfor` VALUES (380, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-28 15:19:57'); +INSERT INTO `sys_logininfor` VALUES (381, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-28 17:21:34'); +INSERT INTO `sys_logininfor` VALUES (382, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-29 08:43:16'); +INSERT INTO `sys_logininfor` VALUES (383, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-29 08:56:00'); +INSERT INTO `sys_logininfor` VALUES (384, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-29 08:57:21'); +INSERT INTO `sys_logininfor` VALUES (385, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-29 09:02:23'); +INSERT INTO `sys_logininfor` VALUES (386, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-29 09:17:30'); +INSERT INTO `sys_logininfor` VALUES (387, 'admin', '172.20.32.83', '0', '登录成功', '2024-03-29 11:25:09'); +INSERT INTO `sys_logininfor` VALUES (388, 'admin', '172.20.32.150', '0', '登录成功', '2024-03-29 11:39:54'); +INSERT INTO `sys_logininfor` VALUES (389, 'admin', '172.20.32.83', '0', '登录成功', '2024-04-01 09:01:04'); +INSERT INTO `sys_logininfor` VALUES (390, 'admin', '172.20.32.83', '0', '登录成功', '2024-04-01 09:03:41'); +INSERT INTO `sys_logininfor` VALUES (391, 'admin', '172.20.32.83', '0', '登录成功', '2024-04-01 10:08:56'); +INSERT INTO `sys_logininfor` VALUES (392, 'admin', '172.20.32.83', '0', '登录成功', '2024-04-01 11:54:37'); +INSERT INTO `sys_logininfor` VALUES (393, 'admin', '172.20.32.83', '0', '登录成功', '2024-04-01 13:42:46'); +INSERT INTO `sys_logininfor` VALUES (394, 'admin', '172.20.32.83', '0', '登录成功', '2024-04-01 14:48:45'); +INSERT INTO `sys_logininfor` VALUES (395, 'admin', '172.20.32.185', '0', '登录成功', '2024-04-02 03:01:36'); +INSERT INTO `sys_logininfor` VALUES (396, 'admin', '172.20.32.185', '0', '登录成功', '2024-04-02 03:17:42'); +INSERT INTO `sys_logininfor` VALUES (397, 'admin', '172.20.32.185', '0', '登录成功', '2024-04-02 03:32:05'); +INSERT INTO `sys_logininfor` VALUES (398, 'admin', '172.20.32.185', '0', '登录成功', '2024-04-02 03:47:08'); +INSERT INTO `sys_logininfor` VALUES (399, 'admin', '172.20.32.185', '0', '登录成功', '2024-04-02 06:16:33'); -- ---------------------------- -- Table structure for sys_menu @@ -808,12 +971,12 @@ CREATE TABLE `sys_menu` ( `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', `menu_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '菜单名称', `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父菜单ID', - `order_num` int(4) NULL DEFAULT 0 COMMENT '显示顺序', + `order_num` int(11) NULL DEFAULT 0 COMMENT '显示顺序', `path` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '路由地址', `component` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件路径', `query` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路由参数', - `is_frame` int(1) NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)', - `is_cache` int(1) NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)', + `is_frame` int(11) NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)', + `is_cache` int(11) NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)', `menu_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', `visible` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', @@ -825,12 +988,12 @@ CREATE TABLE `sys_menu` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注', PRIMARY KEY (`menu_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2007 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2022 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_menu -- ---------------------------- -INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:29:22', '系统管理目录'); +INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 11, 'system', NULL, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2024-01-04 10:59:56', 'admin', '2024-02-02 09:48:25', '系统管理目录'); INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', 1, 0, 'M', '1', '0', '', 'monitor', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:14:19', '系统监控目录'); INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', 1, 0, 'M', '1', '0', '', 'tool', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:14:13', '系统工具目录'); INSERT INTO `sys_menu` VALUES (4, '若依官网', 0, 4, 'http://ruoyi.vip', NULL, '', 0, 0, 'M', '1', '0', '', 'guide', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:14:08', '若依官网地址'); @@ -917,13 +1080,25 @@ INSERT INTO `sys_menu` VALUES (1060, '生成代码', 115, 5, '#', '', '', 1, 0, INSERT INTO `sys_menu` VALUES (2000, '流水线', 0, 3, 'pipeline', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-01-04 11:06:40', '', NULL, ''); INSERT INTO `sys_menu` VALUES (2002, '开发环境', 0, 2, 'developmentEnvironment', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-01-09 09:39:22', '', NULL, ''); INSERT INTO `sys_menu` VALUES (2006, '实验', 0, 3, 'experiment', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-01-16 15:52:17', '', NULL, ''); +INSERT INTO `sys_menu` VALUES (2008, '镜像管理', 2010, 3, '/image', NULL, NULL, 1, 0, 'C', '0', '0', '', 'TableOutlined', 'admin', '2024-02-02 09:44:42', 'admin', '2024-03-14 13:52:16', ''); +INSERT INTO `sys_menu` VALUES (2010, 'AI资产管理', 0, 6, 'dataset', NULL, NULL, 1, 0, 'M', '0', '0', '', '#', 'admin', '2024-02-02 09:46:12', 'admin', '2024-03-05 17:11:43', ''); +INSERT INTO `sys_menu` VALUES (2011, '资源管理', 2010, 5, '/readad', NULL, NULL, 1, 0, 'C', '0', '0', '', 'DoubleRightOutlined', 'admin', '2024-02-02 09:46:51', 'admin', '2024-03-14 13:52:56', ''); +INSERT INTO `sys_menu` VALUES (2012, '组件管理', 2010, 6, '/compent', NULL, NULL, 1, 0, 'C', '0', '0', '', 'BorderInnerOutlined', 'admin', '2024-02-02 09:47:32', 'admin', '2024-03-14 13:53:31', ''); +INSERT INTO `sys_menu` VALUES (2013, '监控运维', 0, 10, '/see', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-02-02 09:48:14', '', NULL, ''); +INSERT INTO `sys_menu` VALUES (2015, '数据集管理', 2010, 1, 'datasetIndex', 'dataset/index', NULL, 1, 1, 'C', '0', '0', '', '#', 'admin', '2024-03-05 16:36:12', 'admin', '2024-03-14 10:48:33', ''); +INSERT INTO `sys_menu` VALUES (2016, '模型管理', 2010, 2, 'modelIndex', '', NULL, 1, 1, 'C', '0', '0', '', '#', 'admin', '2024-03-14 10:40:52', 'admin', '2024-03-14 10:49:27', ''); +INSERT INTO `sys_menu` VALUES (2017, '工作空间', 0, 0, 'workspace', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-03-14 13:56:21', '', NULL, ''); +INSERT INTO `sys_menu` VALUES (2018, '数据准备', 0, 1, 'datasetPreparation', NULL, NULL, 1, 0, 'M', '0', '0', '', '#', 'admin', '2024-03-14 13:56:21', 'admin', '2024-03-14 14:09:50', ''); +INSERT INTO `sys_menu` VALUES (2019, '数据智能标注', 2018, 0, 'datasetAnnotation', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-03-14 13:56:21', '', NULL, ''); +INSERT INTO `sys_menu` VALUES (2020, '模型在线部署', 0, 7, 'modelDseployment', NULL, NULL, 7, 0, 'M', '0', '0', '', '#', 'admin', '2024-03-14 13:56:21', 'admin', '2024-03-14 14:09:56', ''); +INSERT INTO `sys_menu` VALUES (2021, '智能软件应用开发', 0, 8, 'appsDeployment', NULL, NULL, 7, 0, 'M', '0', '0', '', '#', 'admin', '2024-03-14 13:56:21', 'admin', '2024-03-14 14:09:56', ''); -- ---------------------------- -- Table structure for sys_notice -- ---------------------------- DROP TABLE IF EXISTS `sys_notice`; CREATE TABLE `sys_notice` ( - `notice_id` int(4) NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '公告ID', `notice_title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '公告标题', `notice_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '公告类型(1通知 2公告)', `notice_content` longblob NULL COMMENT '公告内容', @@ -934,7 +1109,7 @@ CREATE TABLE `sys_notice` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`notice_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '通知公告表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_notice @@ -949,10 +1124,10 @@ DROP TABLE IF EXISTS `sys_oper_log`; CREATE TABLE `sys_oper_log` ( `oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志主键', `title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '模块标题', - `business_type` int(2) NULL DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `business_type` int(11) NULL DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', `method` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '方法名称', `request_method` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求方式', - `operator_type` int(1) NULL DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `operator_type` int(11) NULL DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', `oper_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '操作人员', `dept_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '部门名称', `oper_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求URL', @@ -960,7 +1135,7 @@ CREATE TABLE `sys_oper_log` ( `oper_location` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '操作地点', `oper_param` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求参数', `json_result` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '返回参数', - `status` int(1) NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)', + `status` int(11) NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)', `error_msg` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '错误消息', `oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间', `cost_time` bigint(20) NULL DEFAULT 0 COMMENT '消耗时间', @@ -968,7 +1143,7 @@ CREATE TABLE `sys_oper_log` ( INDEX `idx_sys_oper_log_bt`(`business_type`) USING BTREE, INDEX `idx_sys_oper_log_s`(`status`) USING BTREE, INDEX `idx_sys_oper_log_ot`(`oper_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 147 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 189 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_oper_log @@ -1020,6 +1195,48 @@ INSERT INTO `sys_oper_log` VALUES (143, '字典数据', 1, 'com.ruoyi.system.con INSERT INTO `sys_oper_log` VALUES (144, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '127.0.0.1', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"数据处理\",\"dictSort\":5,\"dictType\":\"category_type\",\"dictValue\":\"5\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-13 16:28:41', 11); INSERT INTO `sys_oper_log` VALUES (145, '角色管理', 2, 'com.ruoyi.system.controller.SysRoleController.edit()', 'PUT', 1, 'admin', NULL, '/role', '127.0.0.1', '', '{\"admin\":false,\"deptCheckStrictly\":false,\"flag\":false,\"menuCheckStrictly\":false,\"menuIds\":[4,111,112,113,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1058,1057,1059,1060,1039,1040,1041,1042,1043,1044,1045,2000,2002],\"params\":{},\"remark\":\"普通角色\",\"roleId\":2,\"roleKey\":\"common\",\"roleName\":\"普通角色\",\"roleSort\":2,\"status\":\"0\",\"updateBy\":\"admin\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-16 08:54:13', 70); INSERT INTO `sys_oper_log` VALUES (146, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"createBy\":\"admin\",\"menuName\":\"实验\",\"menuType\":\"M\",\"orderNum\":3,\"params\":{},\"parentId\":0,\"path\":\"experiment\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-16 15:52:17', 33); +INSERT INTO `sys_oper_log` VALUES (147, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"menuName\":\"镜像管理\",\"menuType\":\"C\",\"orderNum\":4,\"params\":{},\"parentId\":0,\"path\":\"/images\",\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:41:40', 39); +INSERT INTO `sys_oper_log` VALUES (148, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isFrame\":\"1\",\"menuName\":\"镜像管理\",\"menuType\":\"M\",\"orderNum\":4,\"params\":{},\"parentId\":0,\"path\":\"/image\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:44:42', 5); +INSERT INTO `sys_oper_log` VALUES (149, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isFrame\":\"1\",\"menuName\":\"模型管理\",\"menuType\":\"M\",\"orderNum\":5,\"params\":{},\"parentId\":0,\"path\":\"/model\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:45:39', 2); +INSERT INTO `sys_oper_log` VALUES (150, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isFrame\":\"1\",\"menuName\":\"数据集管理\",\"menuType\":\"M\",\"orderNum\":6,\"params\":{},\"parentId\":0,\"path\":\"/dataset\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:46:12', 3); +INSERT INTO `sys_oper_log` VALUES (151, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isFrame\":\"1\",\"menuName\":\"资源管理\",\"menuType\":\"M\",\"orderNum\":7,\"params\":{},\"parentId\":0,\"path\":\"/readad\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:46:51', 4); +INSERT INTO `sys_oper_log` VALUES (152, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isFrame\":\"1\",\"menuName\":\"组件管理\",\"menuType\":\"M\",\"orderNum\":8,\"params\":{},\"parentId\":0,\"path\":\"/compent\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:47:32', 4); +INSERT INTO `sys_oper_log` VALUES (153, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isFrame\":\"1\",\"menuName\":\"监控运维\",\"menuType\":\"M\",\"orderNum\":10,\"params\":{},\"parentId\":0,\"path\":\"/see\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:48:14', 4); +INSERT INTO `sys_oper_log` VALUES (154, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":11,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-02 09:48:25', 3); +INSERT INTO `sys_oper_log` VALUES (155, '个人信息', 2, 'com.ruoyi.system.controller.SysProfileController.updateProfile()', 'PUT', 1, 'admin', NULL, '/user/profile', '172.20.32.21', '', '{\"admin\":true,\"avatar\":\"\",\"createBy\":\"admin\",\"createTime\":\"2024-01-04 10:59:56\",\"delFlag\":\"0\",\"dept\":{\"ancestors\":\"0,100,101\",\"children\":[],\"deptId\":103,\"deptName\":\"研发部门\",\"leader\":\"若依\",\"orderNum\":1,\"params\":{},\"parentId\":101,\"status\":\"0\"},\"deptId\":103,\"email\":\"ry@163.com\",\"loginDate\":\"2024-01-04 10:59:56\",\"loginIp\":\"127.0.0.1\",\"nickName\":\"若依\",\"params\":{},\"phonenumber\":\"15888888888\",\"remark\":\"管理员\",\"roles\":[{\"admin\":true,\"dataScope\":\"1\",\"deptCheckStrictly\":false,\"flag\":false,\"menuCheckStrictly\":false,\"params\":{},\"roleId\":1,\"roleKey\":\"admin\",\"roleName\":\"超级管理员\",\"roleSort\":1,\"status\":\"0\"}],\"sex\":\"1\",\"status\":\"0\",\"userId\":1,\"userName\":\"admin\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-02-28 14:38:13', 85); +INSERT INTO `sys_oper_log` VALUES (156, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2010,\"menuName\":\"AI资产管理\",\"menuType\":\"M\",\"orderNum\":6,\"params\":{},\"parentId\":0,\"path\":\"/dataset\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 16:04:12', 33); +INSERT INTO `sys_oper_log` VALUES (157, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"/dataset/index\",\"createBy\":\"admin\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"/datasetIndex\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 16:32:53', 5); +INSERT INTO `sys_oper_log` VALUES (158, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"dataset/index\",\"createBy\":\"admin\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 16:36:12', 3); +INSERT INTO `sys_oper_log` VALUES (159, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"Dataset/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 16:41:13', 3); +INSERT INTO `sys_oper_log` VALUES (160, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"dataset/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 16:48:16', 10); +INSERT INTO `sys_oper_log` VALUES (161, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"system/user/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:03:19', 4); +INSERT INTO `sys_oper_log` VALUES (162, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"system/user/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetindex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:07:43', 5); +INSERT INTO `sys_oper_log` VALUES (163, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"system/user/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:10:59', 4); +INSERT INTO `sys_oper_log` VALUES (164, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2010,\"menuName\":\"AI资产管理\",\"menuType\":\"M\",\"orderNum\":6,\"params\":{},\"parentId\":0,\"path\":\"dataset\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:11:43', 3); +INSERT INTO `sys_oper_log` VALUES (165, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"dataset/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:12:18', 2); +INSERT INTO `sys_oper_log` VALUES (166, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"Dataset/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:12:41', 3); +INSERT INTO `sys_oper_log` VALUES (167, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"dataset/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-05 17:14:05', 4); +INSERT INTO `sys_oper_log` VALUES (168, '字典类型', 1, 'com.ruoyi.system.controller.SysDictTypeController.add()', 'POST', 1, 'admin', NULL, '/dict/type', '172.20.32.21', '', '{\"createBy\":\"admin\",\"dictName\":\"可用集群\",\"dictType\":\"available_cluster\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-08 10:47:11', 13); +INSERT INTO `sys_oper_log` VALUES (169, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '172.20.32.21', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"NPU\",\"dictSort\":1,\"dictType\":\"available_cluster\",\"dictValue\":\"NPU\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-08 10:47:31', 7); +INSERT INTO `sys_oper_log` VALUES (170, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '172.20.32.21', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"GPU\",\"dictSort\":2,\"dictType\":\"available_cluster\",\"dictValue\":\"GPU\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-08 10:47:43', 5); +INSERT INTO `sys_oper_log` VALUES (171, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"model/index\",\"createBy\":\"admin\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuName\":\"模型管理\",\"menuType\":\"C\",\"orderNum\":2,\"params\":{},\"parentId\":2010,\"path\":\"modelIndex\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 10:40:52', 31); +INSERT INTO `sys_oper_log` VALUES (172, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2016,\"menuName\":\"模型管理\",\"menuType\":\"C\",\"orderNum\":2,\"params\":{},\"parentId\":2010,\"path\":\"modelIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 10:46:37', 5); +INSERT INTO `sys_oper_log` VALUES (173, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"dataset/index\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"数据集管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2010,\"path\":\"datasetIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 10:48:33', 3); +INSERT INTO `sys_oper_log` VALUES (174, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"component\":\"\",\"icon\":\"#\",\"isCache\":\"1\",\"isFrame\":\"1\",\"menuId\":2016,\"menuName\":\"模型管理\",\"menuType\":\"C\",\"orderNum\":2,\"params\":{},\"parentId\":2010,\"path\":\"modelIndex\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 10:49:27', 3); +INSERT INTO `sys_oper_log` VALUES (175, '菜单管理', 3, 'com.ruoyi.system.controller.SysMenuController.remove()', 'DELETE', 1, 'admin', NULL, '/menu/2009', '172.20.32.21', '', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 13:50:56', 9); +INSERT INTO `sys_oper_log` VALUES (176, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"TableOutlined\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2008,\"menuName\":\"镜像管理\",\"menuType\":\"C\",\"orderNum\":3,\"params\":{},\"parentId\":2010,\"path\":\"/image\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 13:52:16', 6); +INSERT INTO `sys_oper_log` VALUES (177, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"DoubleRightOutlined\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2011,\"menuName\":\"资源管理\",\"menuType\":\"C\",\"orderNum\":5,\"params\":{},\"parentId\":2010,\"path\":\"/readad\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 13:52:56', 3); +INSERT INTO `sys_oper_log` VALUES (178, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"BorderInnerOutlined\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2012,\"menuName\":\"组件管理\",\"menuType\":\"C\",\"orderNum\":6,\"params\":{},\"parentId\":2010,\"path\":\"/compent\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 13:53:31', 2); +INSERT INTO `sys_oper_log` VALUES (179, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"createBy\":\"admin\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuName\":\"工作空间\",\"menuType\":\"C\",\"orderNum\":0,\"params\":{},\"parentId\":0,\"path\":\"/workspace\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 13:56:21', 3); +INSERT INTO `sys_oper_log` VALUES (180, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2018,\"menuName\":\"数据准备\",\"menuType\":\"M\",\"orderNum\":1,\"params\":{},\"parentId\":0,\"path\":\"datasetPreparation\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 14:09:50', 4); +INSERT INTO `sys_oper_log` VALUES (181, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.21', '', '{\"children\":[],\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"7\",\"menuId\":2020,\"menuName\":\"模型在线部署\",\"menuType\":\"M\",\"orderNum\":7,\"params\":{},\"parentId\":0,\"path\":\"modelDseployment\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 14:09:56', 3); +INSERT INTO `sys_oper_log` VALUES (182, '字典类型', 1, 'com.ruoyi.system.controller.SysDictTypeController.add()', 'POST', 1, 'admin', NULL, '/dict/type', '172.20.32.21', '', '{\"createBy\":\"admin\",\"dictName\":\"数据集模型类别\",\"dictType\":\"dataset_models_category\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 17:02:19', 8); +INSERT INTO `sys_oper_log` VALUES (183, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '172.20.32.21', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"数据集分类\",\"dictSort\":1,\"dictType\":\"dataset_models_category\",\"dictValue\":\"1\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 17:03:02', 5); +INSERT INTO `sys_oper_log` VALUES (184, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '172.20.32.21', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"研究方向/应用领域\",\"dictSort\":2,\"dictType\":\"dataset_models_category\",\"dictValue\":\"2\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 17:03:38', 3); +INSERT INTO `sys_oper_log` VALUES (185, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '172.20.32.21', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"模型框架\",\"dictSort\":3,\"dictType\":\"dataset_models_category\",\"dictValue\":\"3\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 17:03:50', 2); +INSERT INTO `sys_oper_log` VALUES (186, '字典数据', 1, 'com.ruoyi.system.controller.SysDictDataController.add()', 'POST', 1, 'admin', NULL, '/dict/data', '172.20.32.21', '', '{\"createBy\":\"admin\",\"default\":false,\"dictLabel\":\"模型能力\",\"dictSort\":4,\"dictType\":\"dataset_models_category\",\"dictValue\":\"4\",\"isDefault\":\"N\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-14 17:04:15', 4); +INSERT INTO `sys_oper_log` VALUES (187, '用户管理', 1, 'com.ruoyi.system.controller.SysUserController.add()', 'POST', 1, 'admin', NULL, '/user', '172.20.32.98', '', '{\"admin\":false,\"createBy\":\"admin\",\"deptId\":100,\"email\":\"1070211640@qq.com\",\"nickName\":\"xidaray\",\"params\":{},\"phonenumber\":\"15574856860\",\"postIds\":[2],\"remark\":\"测试账号\",\"roleIds\":[1],\"sex\":\"0\",\"status\":\"0\",\"userId\":3,\"userName\":\"1070211640\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-19 09:15:53', 137); +INSERT INTO `sys_oper_log` VALUES (188, '用户管理', 2, 'com.ruoyi.system.controller.SysUserController.resetPwd()', 'PUT', 1, 'admin', NULL, '/user/resetPwd', '172.20.32.98', '', '{\"admin\":false,\"params\":{},\"updateBy\":\"admin\",\"userId\":2}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-03-19 09:17:39', 74); -- ---------------------------- -- Table structure for sys_post @@ -1029,7 +1246,7 @@ CREATE TABLE `sys_post` ( `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', `post_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '岗位编码', `post_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '岗位名称', - `post_sort` int(4) NOT NULL COMMENT '显示顺序', + `post_sort` int(11) NOT NULL COMMENT '显示顺序', `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '状态(0正常 1停用)', `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -1037,7 +1254,7 @@ CREATE TABLE `sys_post` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`post_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '岗位信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_post @@ -1055,7 +1272,7 @@ CREATE TABLE `sys_role` ( `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', `role_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称', `role_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色权限字符串', - `role_sort` int(4) NOT NULL COMMENT '显示顺序', + `role_sort` int(11) NOT NULL COMMENT '显示顺序', `data_scope` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示', `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示', @@ -1067,7 +1284,7 @@ CREATE TABLE `sys_role` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`role_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role @@ -1083,7 +1300,7 @@ CREATE TABLE `sys_role_dept` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', `dept_id` bigint(20) NOT NULL COMMENT '部门ID', PRIMARY KEY (`role_id`, `dept_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role_dept @@ -1100,7 +1317,7 @@ CREATE TABLE `sys_role_menu` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', PRIMARY KEY (`role_id`, `menu_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role_menu @@ -1198,13 +1415,14 @@ CREATE TABLE `sys_user` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`user_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user -- ---------------------------- -INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2024-01-04 10:59:56', 'admin', '2024-01-04 10:59:56', '', NULL, '管理员'); -INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2024-01-04 10:59:56', 'admin', '2024-01-04 10:59:56', '', NULL, '测试员'); +INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2024-01-04 10:59:56', 'admin', '2024-01-04 10:59:56', '', '2024-02-28 14:38:12', '管理员'); +INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$47WwH3KTSmsBVdkIpP7UMO5RRm1lYG9.LplSxP9br87ivb1yQgPnq', '0', '0', '127.0.0.1', '2024-01-04 10:59:56', 'admin', '2024-01-04 10:59:56', 'admin', '2024-03-19 09:17:39', '测试员'); +INSERT INTO `sys_user` VALUES (3, 100, '1070211640', 'xidaray', '00', '1070211640@qq.com', '15574856860', '0', '', '$2a$10$0euhi96T18FcYO8L.c9eKOb5WHNe.fS0oc/ZwZ/KtgNPNFWkIaGKq', '0', '0', '', NULL, 'admin', '2024-03-19 09:15:52', '', NULL, '测试账号'); -- ---------------------------- -- Table structure for sys_user_post @@ -1214,13 +1432,14 @@ CREATE TABLE `sys_user_post` ( `user_id` bigint(20) NOT NULL COMMENT '用户ID', `post_id` bigint(20) NOT NULL COMMENT '岗位ID', PRIMARY KEY (`user_id`, `post_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_post -- ---------------------------- INSERT INTO `sys_user_post` VALUES (1, 1); INSERT INTO `sys_user_post` VALUES (2, 2); +INSERT INTO `sys_user_post` VALUES (3, 2); -- ---------------------------- -- Table structure for sys_user_role @@ -1230,13 +1449,14 @@ CREATE TABLE `sys_user_role` ( `user_id` bigint(20) NOT NULL COMMENT '用户ID', `role_id` bigint(20) NOT NULL COMMENT '角色ID', PRIMARY KEY (`user_id`, `role_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_role -- ---------------------------- INSERT INTO `sys_user_role` VALUES (1, 1); INSERT INTO `sys_user_role` VALUES (2, 2); +INSERT INTO `sys_user_role` VALUES (3, 1); -- ---------------------------- -- Table structure for workflow @@ -1247,75 +1467,140 @@ CREATE TABLE `workflow` ( `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作流名称', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'DAG工作流描述', `dag` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'DAG图', + `global_param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '全局参数', `create_by` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` tinyint(10) NULL DEFAULT 1 COMMENT '0,失效 1生效', + `state` tinyint(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DAG workflow' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DAG workflow' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of workflow -- ---------------------------- -INSERT INTO `workflow` VALUES (1, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', 'admin', '2023-10-31 10:19:58', 'admin', '2023-10-31 10:20:04', 0); -INSERT INTO `workflow` VALUES (2, 'xxx', 'TEST', '{}', NULL, NULL, NULL, NULL, 0); -INSERT INTO `workflow` VALUES (3, 'xxx', 'TEST', '{}', NULL, NULL, NULL, NULL, 0); -INSERT INTO `workflow` VALUES (20, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `workflow` VALUES (21, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `workflow` VALUES (22, NULL, NULL, NULL, 'admin', '2023-11-15 14:06:32', 'admin', '2023-11-15 14:06:32', 0); -INSERT INTO `workflow` VALUES (23, NULL, NULL, NULL, 'admin', '2023-11-15 14:11:48', 'admin', '2023-11-15 14:11:48', 0); -INSERT INTO `workflow` VALUES (24, NULL, NULL, NULL, 'admin', '2023-11-15 14:20:51', 'admin', '2023-11-15 14:20:51', 0); -INSERT INTO `workflow` VALUES (25, NULL, NULL, NULL, 'admin', '2023-11-15 14:22:46', 'admin', '2023-11-15 14:22:46', 0); -INSERT INTO `workflow` VALUES (26, 'pytorch训练', 'pytorch 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-15 14:24:02', 'admin', '2023-11-15 16:25:44', 0); -INSERT INTO `workflow` VALUES (27, NULL, NULL, NULL, 'admin', '2023-11-15 14:25:17', 'admin', '2023-11-15 14:25:17', 0); -INSERT INTO `workflow` VALUES (28, 'tensorflow训练', 'tensorflow 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-15 14:27:35', 'admin', '2023-11-18 15:45:16', 0); -INSERT INTO `workflow` VALUES (29, 'tensorflow训练', 'tensorflow 小模型训练', '{\\\"pens\\\":[{\\\"componentId\\\":1,\\\"componentName\\\":\\\"git-clone\\\",\\\"categoryId\\\":2,\\\"categoryName\\\":\\\"代码clone组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"代码拉取\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"代码克隆\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"git-clone-010ee3\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"ssh_key\\\",\\\"name\\\":\\\"ssh私钥\\\",\\\"value\\\":\\\"fdasfasfadsfadsf\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"git_repo_addr\\\",\\\"name\\\":\\\"代码库地址\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"git_branch\\\",\\\"name\\\":\\\"代码库分支/tag\\\",\\\"value\\\":\\\"master\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"clone_depth\\\",\\\"name\\\":\\\"克隆深度\\\",\\\"value\\\":\\\"1\\\",\\\"type\\\":\\\"int\\\",\\\"require\\\":true,\\\"defaultValue\\\":\\\"1\\\"}],\\\"outParameters\\\":[{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码路径\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/code\\\"}],\\\"id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"train\\\",\\\"categoryId\\\":3,\\\"categoryName\\\":\\\"训练组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"RUNNING_SET\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"pytorch训练\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"train-091bb1e\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"train.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"somuns/pretrainmodel/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"batch_size\\\\\\\":\\\\\\\"256\\\\\\\",\\\\\\\"epoch_size\\\\\\\":\\\\\\\"2\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"model_path\\\",\\\"name\\\":\\\"模型输出路径\\\",\\\"value\\\":\\\"model_path\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/model\\\"}],\\\"id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"inference\\\",\\\"categoryId\\\":4,\\\"categoryName\\\":\\\"模型推理测试\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"Actor\\\",\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"inference.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"{{train-091bb1e.model_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"modelname\\\\\\\":\\\\\\\"/model/mnist_epoch1_0.00.pkl\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/result\\\"}],\\\"id\\\":\\\"inference-37f712\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"inference-37f712\\\"}],\\\"globalParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\"},{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]}', 'admin', '2023-11-15 14:35:48', 'admin', '2023-11-15 14:36:45', 0); -INSERT INTO `workflow` VALUES (30, 'tensorflow训练', 'tensorflow 小模型训练', '{\\\"pens\\\":[{\\\"componentId\\\":1,\\\"componentName\\\":\\\"git-clone\\\",\\\"categoryId\\\":2,\\\"categoryName\\\":\\\"代码clone组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAXXXXXXXAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"代码拉取\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"代码克隆\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"git-clone-010ee3\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"ssh_key\\\",\\\"name\\\":\\\"ssh私钥\\\",\\\"value\\\":\\\"fdasfasfadsfadsf\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"git_repo_addr\\\",\\\"name\\\":\\\"代码库地址\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"git_branch\\\",\\\"name\\\":\\\"代码库分支/tag\\\",\\\"value\\\":\\\"master\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"clone_depth\\\",\\\"name\\\":\\\"克隆深度\\\",\\\"value\\\":\\\"1\\\",\\\"type\\\":\\\"int\\\",\\\"require\\\":true,\\\"defaultValue\\\":\\\"1\\\"}],\\\"outParameters\\\":[{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码路径\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/code\\\"}],\\\"id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"train\\\",\\\"categoryId\\\":3,\\\"categoryName\\\":\\\"训练组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"RUNNING_SET\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"pytorch训练\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"train-091bb1e\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"train.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"somuns/pretrainmodel/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"batch_size\\\\\\\":\\\\\\\"256\\\\\\\",\\\\\\\"epoch_size\\\\\\\":\\\\\\\"2\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"model_path\\\",\\\"name\\\":\\\"模型输出路径\\\",\\\"value\\\":\\\"model_path\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/model\\\"}],\\\"id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"inference\\\",\\\"categoryId\\\":4,\\\"categoryName\\\":\\\"模型推理测试\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"Actor\\\",\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"inference.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"{{train-091bb1e.model_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"modelname\\\\\\\":\\\\\\\"/model/mnist_epoch1_0.00.pkl\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/result\\\"}],\\\"id\\\":\\\"inference-37f712\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"inference-37f712\\\"}],\\\"globalParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\"},{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]}', 'admin', '2023-11-15 14:39:55', 'admin', '2023-11-15 14:41:47', 0); -INSERT INTO `workflow` VALUES (31, 'tensorflow大模型训练', 'tensorflow 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-17 14:04:42', 'admin', '2023-11-17 14:05:47', 0); -INSERT INTO `workflow` VALUES (32, 'tensorflow训练', NULL, '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-18 15:44:51', 'admin', '2023-11-18 15:45:36', 0); -INSERT INTO `workflow` VALUES (33, 'tensorflow训练', NULL, '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-18 15:45:45', 'admin', '2023-11-18 15:45:45', 0); -INSERT INTO `workflow` VALUES (34, '组件库方式pytorch手写体识别', 'pytorch手写体识别模型训练,模型较小', '{\"nodes\":[{\"id\":\"model-train-common-eb64e7f\",\"category_id\":4,\"component_name\":\"model-train-common\",\"component_label\":\"xxxxx\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{--dataset={type=ref, item_type=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --model_name={type=ref, item_type=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, form_info={name=mnist, path=/mnt/e/xxxx}}}\",\"out_parameters\":\"{--model_output={type=str, path=/model}}\",\"description\":null,\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-09T13:48:59.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-09T13:48:59.000+08:00\",\"state\":1,\"image\":\"nginx:latest\",\"env_variables\":\"{}\",\"x\":378,\"y\":127,\"label\":\"model-train-common\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0},{\"id\":\"git-clone-1585453d\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":322.1797678438652,\"y\":104.66497815006859,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0},{\"id\":\"model-train-14ff617\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"sfsdf\",\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1,\\\"value\\\":\\\"7200\\\"},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1,\\\"value\\\":\\\"2\\\"}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"sfsdf\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"asfsfsa\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T10:52:45.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T10:52:45.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":335.12346757576864,\"y\":138.54701568358064,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"超时中断\":\"7200\",\"重试次数\":\"2\",\"--dataset\":\"sfsdf\",\"--model_name\":\"asfsfsa\",\"depth\":0}],\"edges\":[],\"combos\":[]}', 'admin', '2023-11-20 09:31:03', 'admin', '2024-01-16 10:58:32', 0); -INSERT INTO `workflow` VALUES (35, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-20 09:32:05', 'admin', '2023-11-20 09:34:37', 0); -INSERT INTO `workflow` VALUES (36, 'mindspore多语模型模型', 'mindspore多语言模型,支持中文、阿拉伯语、英语', NULL, 'admin', '2023-11-20 09:33:14', 'admin', '2023-11-20 09:33:14', 0); -INSERT INTO `workflow` VALUES (37, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', '苏影城', '2023-12-05 10:00:53', '苏影城', '2023-12-05 10:00:53', 0); -INSERT INTO `workflow` VALUES (38, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-12-11 09:21:12', 'admin', '2023-12-11 09:21:12', 0); -INSERT INTO `workflow` VALUES (39, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\\\"components\\\":[{\\\"category_id\\\":1,\\\"component_name\\\":\\\"git-clone\\\",\\\"component_label\\\":\\\"git代码拉取\\\",\\\"description\\\":\\\"git代码拉取,支持公有和私有仓库拉取\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/git:202312071000\\\",\\\"working_directory\\\":\\\"/app\\\",\\\"command\\\":\\\"python git_clone.py\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 1, 内存: 2GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}},\\\"out_parameters\\\":{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/code\\\"}},\\\"task_id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"category_id\\\":2,\\\"component_name\\\":\\\"train\\\",\\\"component_label\\\":\\\"pytorch训练\\\",\\\"description\\\":\\\"通用模型训练组件,支持各种类型框架的训练\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"working_directory\\\":\\\"{{git-clone-010ee3.--code_output}}\\\",\\\"command\\\":\\\"python train.py --epoch_size=1 --batch_size=128\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 2, 内存: 4GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}},\\\"out_parameters\\\":{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/model\\\"}},\\\"env_virables\\\":{},\\\"task_id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"category_id\\\":2,\\\"component_name\\\":\\\"train\\\",\\\"component_label\\\":\\\"pytorch推理\\\",\\\"description\\\":\\\"通用模型训练组件,支持各种类型框架的训练\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"working_directory\\\":\\\"{{git-clone-010ee3.--code_output}}\\\",\\\"command\\\":\\\"python inference.py\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 2, 内存: 4GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"{{train-091bb1e.--model_output}}\\\"}},\\\"out_parameters\\\":{\\\"--result_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/result\\\"}},\\\"env_virables\\\":{\\\"HOST_IP\\\":\\\"10.1.1.2\\\"},\\\"task_id\\\":\\\"train-37f712\\\"}],\\\"lines\\\":[{\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"train-37f712\\\"}]}', '苏影城', '2023-12-11 15:02:35', 'admin', '2023-12-21 14:26:51', 0); -INSERT INTO `workflow` VALUES (40, '组件库方式pytorch手写体识别', '手写体识别', '{\"nodes\":[{\"id\":\"git-clone-5e1c0fb9\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"234\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"23423\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"4324\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"3243\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"322342\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":129.21314461535442,\"y\":108.06837085494266,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"234\",\"--branch\":\"23423\",\"--depth\":\"4324\",\"--ssh_private_key\":\"3243\",\"--code_output\":\"322342\",\"depth\":0},{\"id\":\"git-clone-13ccc55c\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}],\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"123\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"12312\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"123\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"123123\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"1231\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":94.23728802612405,\"y\":14.280297586901554,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"123\",\"--branch\":\"12312\",\"--depth\":\"123\",\"--ssh_private_key\":\"123123\",\"--code_output\":\"1231\",\"depth\":0},{\"id\":\"git-clone-1e58ce4\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":-1.7978269157272635,\"y\":105.51147129445087,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"超时中断\":\"423\",\"重试次数\":\"324\",\"depth\":0},{\"id\":\"git-clone-3ed37e6\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":-1.6850668950243914,\"y\":56.36090895677579,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"超时中断\":\"324\",\"重试次数\":\"23423\",\"depth\":0},{\"id\":\"git-clone-827bf6e\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1,\\\"value\\\":\\\"111\\\"},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1,\\\"value\\\":\\\"11\\\"}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":-0.557352849817832,\"y\":10.852775312352676,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"超时中断\":\"111\",\"重试次数\":\"11\",\"depth\":0}],\"edges\":[],\"combos\":[]}', 'admin', '2023-12-21 14:26:22', 'admin', '2024-01-17 10:33:34', 0); -INSERT INTO `workflow` VALUES (41, NULL, NULL, NULL, 'admin', '2024-01-05 15:17:06', 'admin', '2024-01-05 15:17:06', 0); -INSERT INTO `workflow` VALUES (42, NULL, NULL, NULL, 'admin', '2024-01-05 15:19:38', 'admin', '2024-01-05 15:19:38', 0); -INSERT INTO `workflow` VALUES (43, NULL, NULL, NULL, 'admin', '2024-01-05 15:33:21', 'admin', '2024-01-05 15:33:21', 0); -INSERT INTO `workflow` VALUES (44, NULL, NULL, NULL, 'admin', '2024-01-05 15:33:38', 'admin', '2024-01-05 15:33:38', 0); -INSERT INTO `workflow` VALUES (45, NULL, NULL, NULL, 'admin', '2024-01-05 15:33:47', 'admin', '2024-01-05 15:33:47', 0); -INSERT INTO `workflow` VALUES (46, NULL, NULL, NULL, 'admin', '2024-01-05 15:48:57', 'admin', '2024-01-05 15:48:57', 0); -INSERT INTO `workflow` VALUES (47, NULL, NULL, NULL, 'admin', '2024-01-05 15:49:09', 'admin', '2024-01-05 15:49:09', 0); -INSERT INTO `workflow` VALUES (48, NULL, NULL, NULL, 'admin', '2024-01-08 16:50:22', 'admin', '2024-01-08 16:50:22', 0); -INSERT INTO `workflow` VALUES (49, NULL, NULL, NULL, 'admin', '2024-01-08 16:50:29', 'admin', '2024-01-08 16:50:29', 0); -INSERT INTO `workflow` VALUES (50, NULL, NULL, NULL, 'admin', '2024-01-08 16:50:37', 'admin', '2024-01-08 16:50:37', 0); -INSERT INTO `workflow` VALUES (51, NULL, NULL, NULL, 'admin', '2024-01-08 16:51:16', 'admin', '2024-01-08 16:51:16', 0); -INSERT INTO `workflow` VALUES (52, '组件库方式pytorch手写体识别', NULL, NULL, 'admin', '2024-01-09 10:48:16', 'admin', '2024-01-13 11:17:01', 0); -INSERT INTO `workflow` VALUES (53, '202401113', '测试流水线', NULL, 'admin', '2024-01-13 14:06:48', 'admin', '2024-01-13 14:06:48', 0); -INSERT INTO `workflow` VALUES (54, 'tensorflow训练', '小模型训练', NULL, 'admin', '2024-01-15 09:05:42', 'admin', '2024-01-15 09:05:42', 0); -INSERT INTO `workflow` VALUES (55, '2323', '213', '{\"nodes\":[],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-15 09:08:08', 'admin', '2024-01-17 10:33:38', 0); -INSERT INTO `workflow` VALUES (56, '组件库方式pytorch手写体识别', 'pytorch手写体识别模型训练,模型较小', '{\"nodes\":[{\"id\":\"model-train-common-eb64e7f\",\"category_id\":4,\"component_name\":\"model-train-common\",\"component_label\":\"xxxxx\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{--dataset={type=ref, item_type=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --model_name={type=ref, item_type=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, form_info={name=mnist, path=/mnt/e/xxxx}}}\",\"out_parameters\":\"{--model_output={type=str, path=/model}}\",\"description\":null,\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-09T13:48:59.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-09T13:48:59.000+08:00\",\"state\":1,\"image\":\"nginx:latest\",\"env_variables\":\"{}\",\"x\":378,\"y\":127,\"label\":\"model-train-common\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-501a3401\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":415.0094905570022,\"y\":204.83253819252815,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-31531a5a\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":181.88625326805598,\"y\":159.1594141522448,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-15 09:09:57', 'admin', '2024-01-15 16:54:54', 0); -INSERT INTO `workflow` VALUES (57, 'pytorch2024', '小模型测试', '{\"nodes\":[{\"id\":\"git-clone-469c0b7\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":309,\"y\":178,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-bd4e33a\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":295,\"y\":305,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-3c0dc04\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":105.24208467614898,\"y\":245.87487019730008,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-212f7570\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":151.1338061139437,\"y\":73.51686814959265,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-911df96\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"123\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"123\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"12312\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"31232\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":125.32385526969382,\"y\":124.0761758332756,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"123\",\"--branch\":\"123\",\"--depth\":\"12312\",\"--ssh_private_key\":\"31232\",\"depth\":0},{\"id\":\"git-clone-42536e3\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"123\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"2131\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"3123\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"13\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":83.38488291274636,\"y\":61.420361709643245,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"123\",\"--branch\":\"2131\",\"--depth\":\"3123\",\"--ssh_private_key\":\"13\",\"depth\":0},{\"id\":\"git-clone-6bf6a6c2\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"234\",\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"23434\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"234\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"23423\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"423432\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":45.7217977368551,\"y\":126.96996628164894,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"23434\",\"--branch\":\"234\",\"--depth\":\"23423\",\"--ssh_private_key\":\"423432\",\"depth\":0},{\"id\":\"git-clone-411a73dc\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"234\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"234\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"324\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"23423\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":248.57921347744823,\"y\":7.451682379434722,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"234\",\"--branch\":\"234\",\"--depth\":\"324\",\"--ssh_private_key\":\"23423\",\"depth\":0}],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-15 09:19:41', 'admin', '2024-01-16 09:51:15', 0); -INSERT INTO `workflow` VALUES (58, 'dsffads', 'asfadsf', '{\"nodes\":[{\"0\":\"7200\",\"1\":\"2\",\"id\":\"git-clone-7fab1783\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"启动命令\",\"resources_standard\":\"324\",\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1,\\\"value\\\":\\\"7200\\\"},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1,\\\"value\\\":\\\"2\\\"}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"sfsfsadf\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"master\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"sdfsfadfdafds\",\"env_variables\":\"aa=bb\",\"x\":96.23056300268097,\"y\":155.7319034852547,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"超时中断\":\"2\",\"重试次数\":\"2\",\"depth\":0,\"--code_path\":\"sfsfsadf\",\"--branch\":\"master\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-5f1ce402\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"SFSFAFA\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"3600\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"2\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"mnist\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"CC=DD\\nEE=FF\",\"x\":114.99450634503813,\"y\":192.02422747982732,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"3600\",\"retry_times\":\"2\",\"--dataset\":\"mnist\",\"--model_name\":\"\",\"--model_output\":\"/model\"}],\"edges\":[{\"source\":\"git-clone-7fab1783\",\"target\":\"model-train-5f1ce402\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.80588811892232861705376735793\",\"startPoint\":{\"x\":96.23056300268098,\"y\":155.7319034852547},\"endPoint\":{\"x\":114.99450634503813,\"y\":192.02422747982732},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', 'admin', '2024-01-16 10:56:55', 'admin', '2024-01-16 11:46:59', 0); -INSERT INTO `workflow` VALUES (59, '324', '4234', NULL, 'admin', '2024-01-16 11:43:46', 'admin', '2024-01-16 11:43:46', 0); -INSERT INTO `workflow` VALUES (60, '测试接口流水线', '测试', '{\"nodes\":[{\"id\":\"git-clone-fd4d56\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 1, 内存: 2GB\\\\\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"master\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:37:54.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:37:54.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":396.20001220703125,\"y\":92.16249084472656,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"retry_times\":\"1\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"master\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0},{\"id\":\"model-train-51a3566\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":435.20001220703125,\"y\":207.16249084472656,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0}],\"edges\":[{\"source\":\"git-clone-fd4d56\",\"target\":\"model-train-51a3566\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.88546799091257491705384300601\",\"startPoint\":{\"x\":396.20001220703125,\"y\":92.16249084472656},\"endPoint\":{\"x\":435.20001220703125,\"y\":207.16249084472656},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"git-clone-fd4d56\",\"target\":\"git-clone-fd4d56\",\"type\":\"loop\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.52301659420844951705384305585\",\"startPoint\":{\"x\":378.45001220703125,\"y\":56.66249084472656},\"endPoint\":{\"x\":413.95001220703125,\"y\":56.66249084472656},\"loopCfg\":{\"position\":\"top\",\"dist\":50},\"depth\":0}],\"combos\":[]}', 'admin', '2024-01-16 13:48:36', 'admin', '2024-01-16 13:54:26', 0); -INSERT INTO `workflow` VALUES (61, '测试接口流水线', '设计', '{\"nodes\":[{\"id\":\"git-clone-35e4b7b7\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:37:54.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:37:54.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":347,\"y\":125.38749694824219,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0,\"max_run_time\":\"0\"},{\"id\":\"model-train-0798f5f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-35e4b7b7.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":313.6465134638248,\"y\":217.0234391702886,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"retry_times\":\"0\"},{\"id\":\"model-train-4d6cc04\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-35e4b7b7.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-0798f5f.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":374.7110353336509,\"y\":326.60703400941577,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-0798f5f.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0},{\"id\":\"model-train-f5e8375\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-35e4b7b7.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-0798f5f.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":138.94479032475843,\"y\":322.5885023081963,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-0798f5f.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-35e4b7b7\",\"target\":\"model-train-0798f5f\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.159430719649826141705384556185\",\"startPoint\":{\"x\":347,\"y\":125.38749694824219},\"endPoint\":{\"x\":313.6465134638248,\"y\":217.0234391702886},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-0798f5f\",\"target\":\"model-train-4d6cc04\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.063445436037490311705391807441\",\"startPoint\":{\"x\":313.6465134638248,\"y\":217.0234391702886},\"endPoint\":{\"x\":374.7110353336509,\"y\":326.60703400941577},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-0798f5f\",\"target\":\"model-train-f5e8375\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.103591317098980841705476907383\",\"startPoint\":{\"x\":313.6465134638248,\"y\":217.0234391702886},\"endPoint\":{\"x\":138.94479032475843,\"y\":322.5885023081963},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', 'admin', '2024-01-16 13:54:48', 'admin', '2024-01-18 17:02:23', 0); -INSERT INTO `workflow` VALUES (62, '2323', '213', '{\"nodes\":[],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-17 10:37:07', 'admin', '2024-01-17 10:37:07', 0); -INSERT INTO `workflow` VALUES (63, '2323', '213', '{\"nodes\":[{\"id\":\"git-clone-2b5abceb\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":205,\"y\":181,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-17 10:37:15', 'admin', '2024-01-19 11:16:24', 0); -INSERT INTO `workflow` VALUES (64, '测试接口流水线', '设计', '{\"nodes\":[{\"id\":\"git-clone-0a759f7\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":197.39996337890625,\"y\":120,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"model-train-ad3c3e\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":468.39996337890625,\"y\":126,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-17 15:39:01', 'admin', '2024-01-22 09:29:43', 0); -INSERT INTO `workflow` VALUES (65, '4', '234234', NULL, 'admin', '2024-01-17 16:42:17', 'admin', '2024-01-17 16:42:17', 0); -INSERT INTO `workflow` VALUES (66, 'testqwqw', '1212', '{\"nodes\":[{\"id\":\"git-clone-130df165\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":310,\"y\":185,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-17 16:48:14', 'admin', '2024-01-18 15:29:16', 0); -INSERT INTO `workflow` VALUES (67, 'testqwqw', '1212', '{\"nodes\":[{\"id\":\"git-clone-9412b\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":267,\"y\":181,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', 'admin', '2024-01-18 08:48:37', 'admin', '2024-01-18 15:29:05', 0); -INSERT INTO `workflow` VALUES (68, 'test', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', 'admin', '2024-01-22 15:17:38', 'admin', '2024-01-25 11:08:23', 0); -INSERT INTO `workflow` VALUES (69, 'test0124', 'test', NULL, 'admin', '2024-01-24 09:13:18', 'admin', '2024-01-24 09:13:18', 0); -INSERT INTO `workflow` VALUES (70, 'mnsit-0124', '测试接口0124', '{\"nodes\":[{\"id\":\"git-clone-58252975\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":806.1162039034662,\"y\":97.96333604302986,\"label\":\"克隆训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--code_output\":\"/code\",\"--depth\":\"1\"},{\"id\":\"model-train-7064f00\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":803.6513097729328,\"y\":227.1054241623483,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-7fe21e4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":685.2643030774179,\"y\":408.3345428099675,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result-new\",\"depth\":0},{\"id\":\"model-train-afcf186\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":955.8927139658065,\"y\":400.70364911004737,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-58252975\",\"target\":\"model-train-7064f00\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.66531006564768451706059692250\",\"startPoint\":{\"x\":806.1162039034662,\"y\":97.96333604302987},\"endPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-7fe21e4\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.50795512775462131706059710625\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":685.2643030774179,\"y\":408.3345428099675},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-afcf186\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.91951665829011691706059718272\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":955.8927139658065,\"y\":400.70364911004737},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', 'admin', '2024-01-24 09:15:34', 'admin', '2024-01-25 15:57:18', 1); -INSERT INTO `workflow` VALUES (71, 'mnsit-0124', '测试接口0124', '{\"nodes\":[{\"id\":\"git-clone-58252975\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":806.1162039034662,\"y\":97.96333604302986,\"label\":\"克隆训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--code_output\":\"/code\",\"--depth\":\"1\"},{\"id\":\"model-train-7064f00\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":803.6513097729328,\"y\":227.1054241623483,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-7fe21e4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":685.2643030774179,\"y\":408.3345428099675,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result-new\",\"depth\":0},{\"id\":\"model-train-afcf186\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":955.8927139658065,\"y\":400.70364911004737,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-58252975\",\"target\":\"model-train-7064f00\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.66531006564768451706059692250\",\"startPoint\":{\"x\":806.1162039034662,\"y\":97.96333604302987},\"endPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-7fe21e4\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.50795512775462131706059710625\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":685.2643030774179,\"y\":408.3345428099675},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-afcf186\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.91951665829011691706059718272\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":955.8927139658065,\"y\":400.70364911004737},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', 'admin', '2024-01-25 16:08:41', 'admin', '2024-01-25 16:08:41', 0); -INSERT INTO `workflow` VALUES (72, 'test', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', 'admin', '2024-01-25 16:36:59', 'admin', '2024-01-25 16:36:59', 0); -INSERT INTO `workflow` VALUES (73, 'test', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', 'admin', '2024-01-25 16:38:25', 'admin', '2024-01-25 16:38:25', 0); -INSERT INTO `workflow` VALUES (74, 'test-copy', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', 'admin', '2024-01-25 16:40:53', 'admin', '2024-01-25 16:40:53', 0); -INSERT INTO `workflow` VALUES (75, 'mnsit-0124-copy', '测试接口0124', '{\"nodes\":[{\"id\":\"git-clone-58252975\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":806.1162039034662,\"y\":97.96333604302986,\"label\":\"克隆训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--code_output\":\"/code\",\"--depth\":\"1\"},{\"id\":\"model-train-7064f00\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":803.6513097729328,\"y\":227.1054241623483,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-7fe21e4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":685.2643030774179,\"y\":408.3345428099675,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result-new\",\"depth\":0},{\"id\":\"model-train-afcf186\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inferenced.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":955.8927139658065,\"y\":400.70364911004737,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-58252975\",\"target\":\"model-train-7064f00\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.66531006564768451706059692250\",\"startPoint\":{\"x\":806.1162039034662,\"y\":97.96333604302987},\"endPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-7fe21e4\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.50795512775462131706059710625\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":685.2643030774179,\"y\":408.3345428099675},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-afcf186\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.91951665829011691706059718272\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":955.8927139658065,\"y\":400.70364911004737},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', 'admin', '2024-01-25 16:56:37', 'admin', '2024-01-25 16:56:56', 1); +INSERT INTO `workflow` VALUES (1, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, 'admin', '2023-10-31 10:19:58', 'admin', '2023-10-31 10:20:04', 0); +INSERT INTO `workflow` VALUES (2, 'xxx', 'TEST', '{}', NULL, NULL, NULL, NULL, NULL, 0); +INSERT INTO `workflow` VALUES (3, 'xxx', 'TEST', '{}', NULL, NULL, NULL, NULL, NULL, 0); +INSERT INTO `workflow` VALUES (20, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `workflow` VALUES (21, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `workflow` VALUES (22, NULL, NULL, NULL, NULL, 'admin', '2023-11-15 14:06:32', 'admin', '2023-11-15 14:06:32', 0); +INSERT INTO `workflow` VALUES (23, NULL, NULL, NULL, NULL, 'admin', '2023-11-15 14:11:48', 'admin', '2023-11-15 14:11:48', 0); +INSERT INTO `workflow` VALUES (24, NULL, NULL, NULL, NULL, 'admin', '2023-11-15 14:20:51', 'admin', '2023-11-15 14:20:51', 0); +INSERT INTO `workflow` VALUES (25, NULL, NULL, NULL, NULL, 'admin', '2023-11-15 14:22:46', 'admin', '2023-11-15 14:22:46', 0); +INSERT INTO `workflow` VALUES (26, 'pytorch训练', 'pytorch 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-11-15 14:24:02', 'admin', '2023-11-15 16:25:44', 0); +INSERT INTO `workflow` VALUES (27, NULL, NULL, NULL, NULL, 'admin', '2023-11-15 14:25:17', 'admin', '2023-11-15 14:25:17', 0); +INSERT INTO `workflow` VALUES (28, 'tensorflow训练', 'tensorflow 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-11-15 14:27:35', 'admin', '2023-11-18 15:45:16', 0); +INSERT INTO `workflow` VALUES (29, 'tensorflow训练', 'tensorflow 小模型训练', '{\\\"pens\\\":[{\\\"componentId\\\":1,\\\"componentName\\\":\\\"git-clone\\\",\\\"categoryId\\\":2,\\\"categoryName\\\":\\\"代码clone组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"代码拉取\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"代码克隆\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"git-clone-010ee3\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"ssh_key\\\",\\\"name\\\":\\\"ssh私钥\\\",\\\"value\\\":\\\"fdasfasfadsfadsf\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"git_repo_addr\\\",\\\"name\\\":\\\"代码库地址\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"git_branch\\\",\\\"name\\\":\\\"代码库分支/tag\\\",\\\"value\\\":\\\"master\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"clone_depth\\\",\\\"name\\\":\\\"克隆深度\\\",\\\"value\\\":\\\"1\\\",\\\"type\\\":\\\"int\\\",\\\"require\\\":true,\\\"defaultValue\\\":\\\"1\\\"}],\\\"outParameters\\\":[{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码路径\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/code\\\"}],\\\"id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"train\\\",\\\"categoryId\\\":3,\\\"categoryName\\\":\\\"训练组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"RUNNING_SET\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"pytorch训练\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"train-091bb1e\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"train.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"somuns/pretrainmodel/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"batch_size\\\\\\\":\\\\\\\"256\\\\\\\",\\\\\\\"epoch_size\\\\\\\":\\\\\\\"2\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"model_path\\\",\\\"name\\\":\\\"模型输出路径\\\",\\\"value\\\":\\\"model_path\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/model\\\"}],\\\"id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"inference\\\",\\\"categoryId\\\":4,\\\"categoryName\\\":\\\"模型推理测试\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"Actor\\\",\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"inference.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"{{train-091bb1e.model_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"modelname\\\\\\\":\\\\\\\"/model/mnist_epoch1_0.00.pkl\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/result\\\"}],\\\"id\\\":\\\"inference-37f712\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"inference-37f712\\\"}],\\\"globalParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\"},{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]}', NULL, 'admin', '2023-11-15 14:35:48', 'admin', '2023-11-15 14:36:45', 0); +INSERT INTO `workflow` VALUES (30, 'tensorflow训练', 'tensorflow 小模型训练', '{\\\"pens\\\":[{\\\"componentId\\\":1,\\\"componentName\\\":\\\"git-clone\\\",\\\"categoryId\\\":2,\\\"categoryName\\\":\\\"代码clone组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAXXXXXXXAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"代码拉取\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"代码克隆\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"git-clone-010ee3\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"ssh_key\\\",\\\"name\\\":\\\"ssh私钥\\\",\\\"value\\\":\\\"fdasfasfadsfadsf\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"git_repo_addr\\\",\\\"name\\\":\\\"代码库地址\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"git_branch\\\",\\\"name\\\":\\\"代码库分支/tag\\\",\\\"value\\\":\\\"master\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"clone_depth\\\",\\\"name\\\":\\\"克隆深度\\\",\\\"value\\\":\\\"1\\\",\\\"type\\\":\\\"int\\\",\\\"require\\\":true,\\\"defaultValue\\\":\\\"1\\\"}],\\\"outParameters\\\":[{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码路径\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/code\\\"}],\\\"id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"train\\\",\\\"categoryId\\\":3,\\\"categoryName\\\":\\\"训练组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"RUNNING_SET\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"pytorch训练\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"train-091bb1e\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"train.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"somuns/pretrainmodel/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"batch_size\\\\\\\":\\\\\\\"256\\\\\\\",\\\\\\\"epoch_size\\\\\\\":\\\\\\\"2\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"model_path\\\",\\\"name\\\":\\\"模型输出路径\\\",\\\"value\\\":\\\"model_path\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/model\\\"}],\\\"id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"inference\\\",\\\"categoryId\\\":4,\\\"categoryName\\\":\\\"模型推理测试\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"Actor\\\",\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"inference.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"{{train-091bb1e.model_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"modelname\\\\\\\":\\\\\\\"/model/mnist_epoch1_0.00.pkl\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/result\\\"}],\\\"id\\\":\\\"inference-37f712\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"inference-37f712\\\"}],\\\"globalParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\"},{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]}', NULL, 'admin', '2023-11-15 14:39:55', 'admin', '2023-11-15 14:41:47', 0); +INSERT INTO `workflow` VALUES (31, 'tensorflow大模型训练', 'tensorflow 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-11-17 14:04:42', 'admin', '2023-11-17 14:05:47', 0); +INSERT INTO `workflow` VALUES (32, 'tensorflow训练', NULL, '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-11-18 15:44:51', 'admin', '2023-11-18 15:45:36', 0); +INSERT INTO `workflow` VALUES (33, 'tensorflow训练', NULL, '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-11-18 15:45:45', 'admin', '2023-11-18 15:45:45', 0); +INSERT INTO `workflow` VALUES (34, '组件库方式pytorch手写体识别', 'pytorch手写体识别模型训练,模型较小', '{\"nodes\":[{\"id\":\"model-train-common-eb64e7f\",\"category_id\":4,\"component_name\":\"model-train-common\",\"component_label\":\"xxxxx\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{--dataset={type=ref, item_type=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --model_name={type=ref, item_type=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, form_info={name=mnist, path=/mnt/e/xxxx}}}\",\"out_parameters\":\"{--model_output={type=str, path=/model}}\",\"description\":null,\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-09T13:48:59.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-09T13:48:59.000+08:00\",\"state\":1,\"image\":\"nginx:latest\",\"env_variables\":\"{}\",\"x\":378,\"y\":127,\"label\":\"model-train-common\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0},{\"id\":\"git-clone-1585453d\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":322.1797678438652,\"y\":104.66497815006859,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0},{\"id\":\"model-train-14ff617\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"sfsdf\",\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1,\\\"value\\\":\\\"7200\\\"},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1,\\\"value\\\":\\\"2\\\"}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"sfsdf\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"asfsfsa\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T10:52:45.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T10:52:45.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":335.12346757576864,\"y\":138.54701568358064,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"超时中断\":\"7200\",\"重试次数\":\"2\",\"--dataset\":\"sfsdf\",\"--model_name\":\"asfsfsa\",\"depth\":0}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2023-11-20 09:31:03', 'admin', '2024-01-16 10:58:32', 0); +INSERT INTO `workflow` VALUES (35, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-11-20 09:32:05', 'admin', '2023-11-20 09:34:37', 0); +INSERT INTO `workflow` VALUES (36, 'mindspore多语模型模型', 'mindspore多语言模型,支持中文、阿拉伯语、英语', NULL, NULL, 'admin', '2023-11-20 09:33:14', 'admin', '2023-11-20 09:33:14', 0); +INSERT INTO `workflow` VALUES (37, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, '苏影城', '2023-12-05 10:00:53', '苏影城', '2023-12-05 10:00:53', 0); +INSERT INTO `workflow` VALUES (38, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', NULL, 'admin', '2023-12-11 09:21:12', 'admin', '2023-12-11 09:21:12', 0); +INSERT INTO `workflow` VALUES (39, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\\\"components\\\":[{\\\"category_id\\\":1,\\\"component_name\\\":\\\"git-clone\\\",\\\"component_label\\\":\\\"git代码拉取\\\",\\\"description\\\":\\\"git代码拉取,支持公有和私有仓库拉取\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/git:202312071000\\\",\\\"working_directory\\\":\\\"/app\\\",\\\"command\\\":\\\"python git_clone.py\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 1, 内存: 2GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}},\\\"out_parameters\\\":{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/code\\\"}},\\\"task_id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"category_id\\\":2,\\\"component_name\\\":\\\"train\\\",\\\"component_label\\\":\\\"pytorch训练\\\",\\\"description\\\":\\\"通用模型训练组件,支持各种类型框架的训练\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"working_directory\\\":\\\"{{git-clone-010ee3.--code_output}}\\\",\\\"command\\\":\\\"python train.py --epoch_size=1 --batch_size=128\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 2, 内存: 4GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}},\\\"out_parameters\\\":{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/model\\\"}},\\\"env_virables\\\":{},\\\"task_id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"category_id\\\":2,\\\"component_name\\\":\\\"train\\\",\\\"component_label\\\":\\\"pytorch推理\\\",\\\"description\\\":\\\"通用模型训练组件,支持各种类型框架的训练\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"working_directory\\\":\\\"{{git-clone-010ee3.--code_output}}\\\",\\\"command\\\":\\\"python inference.py\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 2, 内存: 4GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"{{train-091bb1e.--model_output}}\\\"}},\\\"out_parameters\\\":{\\\"--result_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/result\\\"}},\\\"env_virables\\\":{\\\"HOST_IP\\\":\\\"10.1.1.2\\\"},\\\"task_id\\\":\\\"train-37f712\\\"}],\\\"lines\\\":[{\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"train-37f712\\\"}]}', NULL, '苏影城', '2023-12-11 15:02:35', 'admin', '2023-12-21 14:26:51', 0); +INSERT INTO `workflow` VALUES (40, '组件库方式pytorch手写体识别', '手写体识别', '{\"nodes\":[{\"id\":\"git-clone-5e1c0fb9\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"234\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"23423\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"4324\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"3243\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"322342\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":129.21314461535442,\"y\":108.06837085494266,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"234\",\"--branch\":\"23423\",\"--depth\":\"4324\",\"--ssh_private_key\":\"3243\",\"--code_output\":\"322342\",\"depth\":0},{\"id\":\"git-clone-13ccc55c\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}],\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"123\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"12312\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"123\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"123123\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"1231\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":94.23728802612405,\"y\":14.280297586901554,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"123\",\"--branch\":\"12312\",\"--depth\":\"123\",\"--ssh_private_key\":\"123123\",\"--code_output\":\"1231\",\"depth\":0},{\"id\":\"git-clone-1e58ce4\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":-1.7978269157272635,\"y\":105.51147129445087,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"超时中断\":\"423\",\"重试次数\":\"324\",\"depth\":0},{\"id\":\"git-clone-3ed37e6\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":-1.6850668950243914,\"y\":56.36090895677579,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"超时中断\":\"324\",\"重试次数\":\"23423\",\"depth\":0},{\"id\":\"git-clone-827bf6e\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1,\\\"value\\\":\\\"111\\\"},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1,\\\"value\\\":\\\"11\\\"}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":-0.557352849817832,\"y\":10.852775312352676,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"超时中断\":\"111\",\"重试次数\":\"11\",\"depth\":0}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2023-12-21 14:26:22', 'admin', '2024-01-17 10:33:34', 0); +INSERT INTO `workflow` VALUES (41, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:17:06', 'admin', '2024-01-05 15:17:06', 0); +INSERT INTO `workflow` VALUES (42, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:19:38', 'admin', '2024-01-05 15:19:38', 0); +INSERT INTO `workflow` VALUES (43, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:33:21', 'admin', '2024-01-05 15:33:21', 0); +INSERT INTO `workflow` VALUES (44, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:33:38', 'admin', '2024-01-05 15:33:38', 0); +INSERT INTO `workflow` VALUES (45, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:33:47', 'admin', '2024-01-05 15:33:47', 0); +INSERT INTO `workflow` VALUES (46, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:48:57', 'admin', '2024-01-05 15:48:57', 0); +INSERT INTO `workflow` VALUES (47, NULL, NULL, NULL, NULL, 'admin', '2024-01-05 15:49:09', 'admin', '2024-01-05 15:49:09', 0); +INSERT INTO `workflow` VALUES (48, NULL, NULL, NULL, NULL, 'admin', '2024-01-08 16:50:22', 'admin', '2024-01-08 16:50:22', 0); +INSERT INTO `workflow` VALUES (49, NULL, NULL, NULL, NULL, 'admin', '2024-01-08 16:50:29', 'admin', '2024-01-08 16:50:29', 0); +INSERT INTO `workflow` VALUES (50, NULL, NULL, NULL, NULL, 'admin', '2024-01-08 16:50:37', 'admin', '2024-01-08 16:50:37', 0); +INSERT INTO `workflow` VALUES (51, NULL, NULL, NULL, NULL, 'admin', '2024-01-08 16:51:16', 'admin', '2024-01-08 16:51:16', 0); +INSERT INTO `workflow` VALUES (52, '组件库方式pytorch手写体识别', NULL, NULL, NULL, 'admin', '2024-01-09 10:48:16', 'admin', '2024-01-13 11:17:01', 0); +INSERT INTO `workflow` VALUES (53, '202401113', '测试流水线', NULL, NULL, 'admin', '2024-01-13 14:06:48', 'admin', '2024-01-13 14:06:48', 0); +INSERT INTO `workflow` VALUES (54, 'tensorflow训练', '小模型训练', NULL, NULL, 'admin', '2024-01-15 09:05:42', 'admin', '2024-01-15 09:05:42', 0); +INSERT INTO `workflow` VALUES (55, '2323', '213', '{\"nodes\":[],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-15 09:08:08', 'admin', '2024-01-17 10:33:38', 0); +INSERT INTO `workflow` VALUES (56, '组件库方式pytorch手写体识别', 'pytorch手写体识别模型训练,模型较小', '{\"nodes\":[{\"id\":\"model-train-common-eb64e7f\",\"category_id\":4,\"component_name\":\"model-train-common\",\"component_label\":\"xxxxx\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{--dataset={type=ref, item_type=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --model_name={type=ref, item_type=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, form_info={name=mnist, path=/mnt/e/xxxx}}}\",\"out_parameters\":\"{--model_output={type=str, path=/model}}\",\"description\":null,\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-09T13:48:59.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-09T13:48:59.000+08:00\",\"state\":1,\"image\":\"nginx:latest\",\"env_variables\":\"{}\",\"x\":378,\"y\":127,\"label\":\"model-train-common\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-501a3401\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":415.0094905570022,\"y\":204.83253819252815,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-31531a5a\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":181.88625326805598,\"y\":159.1594141522448,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-15 09:09:57', 'admin', '2024-01-15 16:54:54', 0); +INSERT INTO `workflow` VALUES (57, 'pytorch2024', '小模型测试', '{\"nodes\":[{\"id\":\"git-clone-469c0b7\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":309,\"y\":178,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-bd4e33a\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":295,\"y\":305,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-3c0dc04\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":105.24208467614898,\"y\":245.87487019730008,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-212f7570\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":151.1338061139437,\"y\":73.51686814959265,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-911df96\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"123\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"123\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"12312\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"31232\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":125.32385526969382,\"y\":124.0761758332756,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"123\",\"--branch\":\"123\",\"--depth\":\"12312\",\"--ssh_private_key\":\"31232\",\"depth\":0},{\"id\":\"git-clone-42536e3\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"123\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"2131\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"3123\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"13\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":83.38488291274636,\"y\":61.420361709643245,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"123\",\"--branch\":\"2131\",\"--depth\":\"3123\",\"--ssh_private_key\":\"13\",\"depth\":0},{\"id\":\"git-clone-6bf6a6c2\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"234\",\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"23434\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"234\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"23423\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"423432\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":45.7217977368551,\"y\":126.96996628164894,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"23434\",\"--branch\":\"234\",\"--depth\":\"23423\",\"--ssh_private_key\":\"423432\",\"depth\":0},{\"id\":\"git-clone-411a73dc\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"p\",\"10\":\"a\",\"11\":\"t\",\"12\":\"h\",\"13\":\"\\\"\",\"14\":\":\",\"15\":\"{\",\"16\":\"\\\"\",\"17\":\"t\",\"18\":\"y\",\"19\":\"p\",\"20\":\"e\",\"21\":\"\\\"\",\"22\":\":\",\"23\":\"\\\"\",\"24\":\"s\",\"25\":\"t\",\"26\":\"r\",\"27\":\"\\\"\",\"28\":\",\",\"29\":\"\\\"\",\"30\":\"i\",\"31\":\"t\",\"32\":\"e\",\"33\":\"m\",\"34\":\"_\",\"35\":\"t\",\"36\":\"y\",\"37\":\"p\",\"38\":\"e\",\"39\":\"\\\"\",\"40\":\":\",\"41\":\"\\\"\",\"42\":\"\\\"\",\"43\":\",\",\"44\":\"\\\"\",\"45\":\"l\",\"46\":\"a\",\"47\":\"b\",\"48\":\"e\",\"49\":\"l\",\"50\":\"\\\"\",\"51\":\":\",\"52\":\"\\\"\",\"53\":\"代\",\"54\":\"码\",\"55\":\"仓\",\"56\":\"库\",\"57\":\"地\",\"58\":\"址\",\"59\":\"\\\"\",\"60\":\",\",\"61\":\"\\\"\",\"62\":\"r\",\"63\":\"e\",\"64\":\"q\",\"65\":\"u\",\"66\":\"i\",\"67\":\"r\",\"68\":\"e\",\"69\":\"\\\"\",\"70\":\":\",\"71\":\"1\",\"72\":\",\",\"73\":\"\\\"\",\"74\":\"c\",\"75\":\"h\",\"76\":\"o\",\"77\":\"i\",\"78\":\"c\",\"79\":\"e\",\"80\":\"\\\"\",\"81\":\":\",\"82\":\"[\",\"83\":\"]\",\"84\":\",\",\"85\":\"\\\"\",\"86\":\"d\",\"87\":\"e\",\"88\":\"f\",\"89\":\"a\",\"90\":\"u\",\"91\":\"l\",\"92\":\"t\",\"93\":\"\\\"\",\"94\":\":\",\"95\":\"\\\"\",\"96\":\"\\\"\",\"97\":\",\",\"98\":\"\\\"\",\"99\":\"p\",\"100\":\"l\",\"101\":\"a\",\"102\":\"c\",\"103\":\"e\",\"104\":\"h\",\"105\":\"o\",\"106\":\"l\",\"107\":\"d\",\"108\":\"e\",\"109\":\"r\",\"110\":\"\\\"\",\"111\":\":\",\"112\":\"\\\"\",\"113\":\"私\",\"114\":\"有\",\"115\":\"仓\",\"116\":\"库\",\"117\":\"填\",\"118\":\"写\",\"119\":\"s\",\"120\":\"s\",\"121\":\"h\",\"122\":\"地\",\"123\":\"址\",\"124\":\",\",\"125\":\"公\",\"126\":\"有\",\"127\":\"仓\",\"128\":\"库\",\"129\":\"填\",\"130\":\"写\",\"131\":\"h\",\"132\":\"t\",\"133\":\"t\",\"134\":\"p\",\"135\":\"s\",\"136\":\" \",\"137\":\"g\",\"138\":\"i\",\"139\":\"t\",\"140\":\"地\",\"141\":\"址\",\"142\":\"\\\"\",\"143\":\",\",\"144\":\"\\\"\",\"145\":\"d\",\"146\":\"e\",\"147\":\"s\",\"148\":\"c\",\"149\":\"r\",\"150\":\"i\",\"151\":\"b\",\"152\":\"e\",\"153\":\"\\\"\",\"154\":\":\",\"155\":\"\\\"\",\"156\":\"代\",\"157\":\"码\",\"158\":\"仓\",\"159\":\"库\",\"160\":\"地\",\"161\":\"址\",\"162\":\"\\\"\",\"163\":\",\",\"164\":\"\\\"\",\"165\":\"e\",\"166\":\"d\",\"167\":\"i\",\"168\":\"t\",\"169\":\"a\",\"170\":\"b\",\"171\":\"l\",\"172\":\"e\",\"173\":\"\\\"\",\"174\":\":\",\"175\":\"1\",\"176\":\",\",\"177\":\"\\\"\",\"178\":\"c\",\"179\":\"o\",\"180\":\"n\",\"181\":\"d\",\"182\":\"i\",\"183\":\"t\",\"184\":\"i\",\"185\":\"o\",\"186\":\"n\",\"187\":\"\\\"\",\"188\":\":\",\"189\":\"\\\"\",\"190\":\"\\\"\",\"191\":\",\",\"192\":\"\\\"\",\"193\":\"v\",\"194\":\"a\",\"195\":\"l\",\"196\":\"u\",\"197\":\"e\",\"198\":\"\\\"\",\"199\":\":\",\"200\":\"\\\"\",\"201\":\"\\\"\",\"202\":\"}\",\"203\":\",\",\"204\":\"\\\"\",\"205\":\"-\",\"206\":\"-\",\"207\":\"b\",\"208\":\"r\",\"209\":\"a\",\"210\":\"n\",\"211\":\"c\",\"212\":\"h\",\"213\":\"\\\"\",\"214\":\":\",\"215\":\"{\",\"216\":\"\\\"\",\"217\":\"t\",\"218\":\"y\",\"219\":\"p\",\"220\":\"e\",\"221\":\"\\\"\",\"222\":\":\",\"223\":\"\\\"\",\"224\":\"s\",\"225\":\"t\",\"226\":\"r\",\"227\":\"\\\"\",\"228\":\",\",\"229\":\"\\\"\",\"230\":\"i\",\"231\":\"t\",\"232\":\"e\",\"233\":\"m\",\"234\":\"_\",\"235\":\"t\",\"236\":\"y\",\"237\":\"p\",\"238\":\"e\",\"239\":\"\\\"\",\"240\":\":\",\"241\":\"\\\"\",\"242\":\"\\\"\",\"243\":\",\",\"244\":\"\\\"\",\"245\":\"l\",\"246\":\"a\",\"247\":\"b\",\"248\":\"e\",\"249\":\"l\",\"250\":\"\\\"\",\"251\":\":\",\"252\":\"\\\"\",\"253\":\"代\",\"254\":\"码\",\"255\":\"分\",\"256\":\"支\",\"257\":\"/\",\"258\":\"t\",\"259\":\"a\",\"260\":\"g\",\"261\":\"\\\"\",\"262\":\",\",\"263\":\"\\\"\",\"264\":\"r\",\"265\":\"e\",\"266\":\"q\",\"267\":\"u\",\"268\":\"i\",\"269\":\"r\",\"270\":\"e\",\"271\":\"\\\"\",\"272\":\":\",\"273\":\"1\",\"274\":\",\",\"275\":\"\\\"\",\"276\":\"c\",\"277\":\"h\",\"278\":\"o\",\"279\":\"i\",\"280\":\"c\",\"281\":\"e\",\"282\":\"\\\"\",\"283\":\":\",\"284\":\"[\",\"285\":\"]\",\"286\":\",\",\"287\":\"\\\"\",\"288\":\"d\",\"289\":\"e\",\"290\":\"f\",\"291\":\"a\",\"292\":\"u\",\"293\":\"l\",\"294\":\"t\",\"295\":\"\\\"\",\"296\":\":\",\"297\":\"\\\"\",\"298\":\"m\",\"299\":\"a\",\"300\":\"s\",\"301\":\"t\",\"302\":\"e\",\"303\":\"r\",\"304\":\"\\\"\",\"305\":\",\",\"306\":\"\\\"\",\"307\":\"p\",\"308\":\"l\",\"309\":\"a\",\"310\":\"c\",\"311\":\"e\",\"312\":\"h\",\"313\":\"o\",\"314\":\"l\",\"315\":\"d\",\"316\":\"e\",\"317\":\"r\",\"318\":\"\\\"\",\"319\":\":\",\"320\":\"\\\"\",\"321\":\"\\\"\",\"322\":\",\",\"323\":\"\\\"\",\"324\":\"d\",\"325\":\"e\",\"326\":\"s\",\"327\":\"c\",\"328\":\"r\",\"329\":\"i\",\"330\":\"b\",\"331\":\"e\",\"332\":\"\\\"\",\"333\":\":\",\"334\":\"\\\"\",\"335\":\"代\",\"336\":\"码\",\"337\":\"分\",\"338\":\"支\",\"339\":\"或\",\"340\":\"者\",\"341\":\"t\",\"342\":\"a\",\"343\":\"g\",\"344\":\"\\\"\",\"345\":\",\",\"346\":\"\\\"\",\"347\":\"e\",\"348\":\"d\",\"349\":\"i\",\"350\":\"t\",\"351\":\"a\",\"352\":\"b\",\"353\":\"l\",\"354\":\"e\",\"355\":\"\\\"\",\"356\":\":\",\"357\":\"1\",\"358\":\",\",\"359\":\"\\\"\",\"360\":\"c\",\"361\":\"o\",\"362\":\"n\",\"363\":\"d\",\"364\":\"i\",\"365\":\"t\",\"366\":\"i\",\"367\":\"o\",\"368\":\"n\",\"369\":\"\\\"\",\"370\":\":\",\"371\":\"\\\"\",\"372\":\"\\\"\",\"373\":\",\",\"374\":\"\\\"\",\"375\":\"v\",\"376\":\"a\",\"377\":\"l\",\"378\":\"u\",\"379\":\"e\",\"380\":\"\\\"\",\"381\":\":\",\"382\":\"\\\"\",\"383\":\"\\\"\",\"384\":\"}\",\"385\":\",\",\"386\":\"\\\"\",\"387\":\"-\",\"388\":\"-\",\"389\":\"d\",\"390\":\"e\",\"391\":\"p\",\"392\":\"t\",\"393\":\"h\",\"394\":\"\\\"\",\"395\":\":\",\"396\":\"{\",\"397\":\"\\\"\",\"398\":\"t\",\"399\":\"y\",\"400\":\"p\",\"401\":\"e\",\"402\":\"\\\"\",\"403\":\":\",\"404\":\"\\\"\",\"405\":\"s\",\"406\":\"t\",\"407\":\"r\",\"408\":\"\\\"\",\"409\":\",\",\"410\":\"\\\"\",\"411\":\"i\",\"412\":\"t\",\"413\":\"e\",\"414\":\"m\",\"415\":\"_\",\"416\":\"t\",\"417\":\"y\",\"418\":\"p\",\"419\":\"e\",\"420\":\"\\\"\",\"421\":\":\",\"422\":\"\\\"\",\"423\":\"\\\"\",\"424\":\",\",\"425\":\"\\\"\",\"426\":\"l\",\"427\":\"a\",\"428\":\"b\",\"429\":\"e\",\"430\":\"l\",\"431\":\"\\\"\",\"432\":\":\",\"433\":\"\\\"\",\"434\":\"克\",\"435\":\"隆\",\"436\":\"深\",\"437\":\"度\",\"438\":\"\\\"\",\"439\":\",\",\"440\":\"\\\"\",\"441\":\"r\",\"442\":\"e\",\"443\":\"q\",\"444\":\"u\",\"445\":\"i\",\"446\":\"r\",\"447\":\"e\",\"448\":\"\\\"\",\"449\":\":\",\"450\":\"0\",\"451\":\",\",\"452\":\"\\\"\",\"453\":\"c\",\"454\":\"h\",\"455\":\"o\",\"456\":\"i\",\"457\":\"c\",\"458\":\"e\",\"459\":\"\\\"\",\"460\":\":\",\"461\":\"[\",\"462\":\"]\",\"463\":\",\",\"464\":\"\\\"\",\"465\":\"d\",\"466\":\"e\",\"467\":\"f\",\"468\":\"a\",\"469\":\"u\",\"470\":\"l\",\"471\":\"t\",\"472\":\"\\\"\",\"473\":\":\",\"474\":\"\\\"\",\"475\":\"1\",\"476\":\"\\\"\",\"477\":\",\",\"478\":\"\\\"\",\"479\":\"p\",\"480\":\"l\",\"481\":\"a\",\"482\":\"c\",\"483\":\"e\",\"484\":\"h\",\"485\":\"o\",\"486\":\"l\",\"487\":\"d\",\"488\":\"e\",\"489\":\"r\",\"490\":\"\\\"\",\"491\":\":\",\"492\":\"\\\"\",\"493\":\"\\\"\",\"494\":\",\",\"495\":\"\\\"\",\"496\":\"d\",\"497\":\"e\",\"498\":\"s\",\"499\":\"c\",\"500\":\"r\",\"501\":\"i\",\"502\":\"b\",\"503\":\"e\",\"504\":\"\\\"\",\"505\":\":\",\"506\":\"\\\"\",\"507\":\"代\",\"508\":\"码\",\"509\":\"克\",\"510\":\"隆\",\"511\":\"深\",\"512\":\"度\",\"513\":\"\\\"\",\"514\":\",\",\"515\":\"\\\"\",\"516\":\"e\",\"517\":\"d\",\"518\":\"i\",\"519\":\"t\",\"520\":\"a\",\"521\":\"b\",\"522\":\"l\",\"523\":\"e\",\"524\":\"\\\"\",\"525\":\":\",\"526\":\"1\",\"527\":\",\",\"528\":\"\\\"\",\"529\":\"c\",\"530\":\"o\",\"531\":\"n\",\"532\":\"d\",\"533\":\"i\",\"534\":\"t\",\"535\":\"i\",\"536\":\"o\",\"537\":\"n\",\"538\":\"\\\"\",\"539\":\":\",\"540\":\"\\\"\",\"541\":\"\\\"\",\"542\":\",\",\"543\":\"\\\"\",\"544\":\"v\",\"545\":\"a\",\"546\":\"l\",\"547\":\"u\",\"548\":\"e\",\"549\":\"\\\"\",\"550\":\":\",\"551\":\"\\\"\",\"552\":\"\\\"\",\"553\":\"}\",\"554\":\",\",\"555\":\"\\\"\",\"556\":\"-\",\"557\":\"-\",\"558\":\"s\",\"559\":\"s\",\"560\":\"h\",\"561\":\"_\",\"562\":\"p\",\"563\":\"r\",\"564\":\"i\",\"565\":\"v\",\"566\":\"a\",\"567\":\"t\",\"568\":\"e\",\"569\":\"_\",\"570\":\"k\",\"571\":\"e\",\"572\":\"y\",\"573\":\"\\\"\",\"574\":\":\",\"575\":\"{\",\"576\":\"\\\"\",\"577\":\"t\",\"578\":\"y\",\"579\":\"p\",\"580\":\"e\",\"581\":\"\\\"\",\"582\":\":\",\"583\":\"\\\"\",\"584\":\"s\",\"585\":\"t\",\"586\":\"r\",\"587\":\"\\\"\",\"588\":\",\",\"589\":\"\\\"\",\"590\":\"i\",\"591\":\"t\",\"592\":\"e\",\"593\":\"m\",\"594\":\"_\",\"595\":\"t\",\"596\":\"y\",\"597\":\"p\",\"598\":\"e\",\"599\":\"\\\"\",\"600\":\":\",\"601\":\"\\\"\",\"602\":\"\\\"\",\"603\":\",\",\"604\":\"\\\"\",\"605\":\"l\",\"606\":\"a\",\"607\":\"b\",\"608\":\"e\",\"609\":\"l\",\"610\":\"\\\"\",\"611\":\":\",\"612\":\"\\\"\",\"613\":\"s\",\"614\":\"s\",\"615\":\"h\",\"616\":\"私\",\"617\":\"钥\",\"618\":\"\\\"\",\"619\":\",\",\"620\":\"\\\"\",\"621\":\"r\",\"622\":\"e\",\"623\":\"q\",\"624\":\"u\",\"625\":\"i\",\"626\":\"r\",\"627\":\"e\",\"628\":\"\\\"\",\"629\":\":\",\"630\":\"0\",\"631\":\",\",\"632\":\"\\\"\",\"633\":\"c\",\"634\":\"h\",\"635\":\"o\",\"636\":\"i\",\"637\":\"c\",\"638\":\"e\",\"639\":\"\\\"\",\"640\":\":\",\"641\":\"[\",\"642\":\"]\",\"643\":\",\",\"644\":\"\\\"\",\"645\":\"d\",\"646\":\"e\",\"647\":\"f\",\"648\":\"a\",\"649\":\"u\",\"650\":\"l\",\"651\":\"t\",\"652\":\"\\\"\",\"653\":\":\",\"654\":\"\\\"\",\"655\":\"1\",\"656\":\"\\\"\",\"657\":\",\",\"658\":\"\\\"\",\"659\":\"p\",\"660\":\"l\",\"661\":\"a\",\"662\":\"c\",\"663\":\"e\",\"664\":\"h\",\"665\":\"o\",\"666\":\"l\",\"667\":\"d\",\"668\":\"e\",\"669\":\"r\",\"670\":\"\\\"\",\"671\":\":\",\"672\":\"\\\"\",\"673\":\"\\\"\",\"674\":\",\",\"675\":\"\\\"\",\"676\":\"d\",\"677\":\"e\",\"678\":\"s\",\"679\":\"c\",\"680\":\"r\",\"681\":\"i\",\"682\":\"b\",\"683\":\"e\",\"684\":\"\\\"\",\"685\":\":\",\"686\":\"\\\"\",\"687\":\"s\",\"688\":\"s\",\"689\":\"h\",\"690\":\"私\",\"691\":\"钥\",\"692\":\",\",\"693\":\"确\",\"694\":\"保\",\"695\":\"s\",\"696\":\"s\",\"697\":\"h\",\"698\":\"公\",\"699\":\"钥\",\"700\":\"已\",\"701\":\"经\",\"702\":\"托\",\"703\":\"管\",\"704\":\"到\",\"705\":\"代\",\"706\":\"码\",\"707\":\"平\",\"708\":\"台\",\"709\":\",\",\"710\":\"否\",\"711\":\"则\",\"712\":\"可\",\"713\":\"能\",\"714\":\"拉\",\"715\":\"取\",\"716\":\"失\",\"717\":\"败\",\"718\":\"\\\"\",\"719\":\",\",\"720\":\"\\\"\",\"721\":\"e\",\"722\":\"d\",\"723\":\"i\",\"724\":\"t\",\"725\":\"a\",\"726\":\"b\",\"727\":\"l\",\"728\":\"e\",\"729\":\"\\\"\",\"730\":\":\",\"731\":\"1\",\"732\":\",\",\"733\":\"\\\"\",\"734\":\"c\",\"735\":\"o\",\"736\":\"n\",\"737\":\"d\",\"738\":\"i\",\"739\":\"t\",\"740\":\"i\",\"741\":\"o\",\"742\":\"n\",\"743\":\"\\\"\",\"744\":\":\",\"745\":\"\\\"\",\"746\":\"\\\"\",\"747\":\",\",\"748\":\"\\\"\",\"749\":\"v\",\"750\":\"a\",\"751\":\"l\",\"752\":\"u\",\"753\":\"e\",\"754\":\"\\\"\",\"755\":\":\",\"756\":\"\\\"\",\"757\":\"\\\"\",\"758\":\"}\",\"759\":\"}\",\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码仓库地址\",\"require\":1,\"choice\":[],\"default\":\"\",\"placeholder\":\"私有仓库填写ssh地址,公有仓库填写https git地址\",\"describe\":\"代码仓库地址\",\"editable\":1,\"condition\":\"\",\"value\":\"234\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"代码分支/tag\",\"require\":1,\"choice\":[],\"default\":\"master\",\"placeholder\":\"\",\"describe\":\"代码分支或者tag\",\"editable\":1,\"condition\":\"\",\"value\":\"234\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"克隆深度\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"代码克隆深度\",\"editable\":1,\"condition\":\"\",\"value\":\"324\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"label\":\"ssh私钥\",\"require\":0,\"choice\":[],\"default\":\"1\",\"placeholder\":\"\",\"describe\":\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\",\"editable\":1,\"condition\":\"\",\"value\":\"23423\"}},\"out_parameters\":{\"0\":\"{\",\"1\":\"\\\"\",\"2\":\"-\",\"3\":\"-\",\"4\":\"c\",\"5\":\"o\",\"6\":\"d\",\"7\":\"e\",\"8\":\"_\",\"9\":\"o\",\"10\":\"u\",\"11\":\"t\",\"12\":\"p\",\"13\":\"u\",\"14\":\"t\",\"15\":\"\\\"\",\"16\":\":\",\"17\":\"{\",\"18\":\"\\\"\",\"19\":\"t\",\"20\":\"y\",\"21\":\"p\",\"22\":\"e\",\"23\":\"\\\"\",\"24\":\":\",\"25\":\"\\\"\",\"26\":\"s\",\"27\":\"t\",\"28\":\"r\",\"29\":\"\\\"\",\"30\":\",\",\"31\":\"\\\"\",\"32\":\"l\",\"33\":\"a\",\"34\":\"b\",\"35\":\"e\",\"36\":\"l\",\"37\":\"\\\"\",\"38\":\":\",\"39\":\"\\\"\",\"40\":\"代\",\"41\":\"码\",\"42\":\"输\",\"43\":\"出\",\"44\":\"路\",\"45\":\"径\",\"46\":\"\\\"\",\"47\":\",\",\"48\":\"\\\"\",\"49\":\"p\",\"50\":\"a\",\"51\":\"t\",\"52\":\"h\",\"53\":\"\\\"\",\"54\":\":\",\"55\":\"\\\"\",\"56\":\"/\",\"57\":\"c\",\"58\":\"o\",\"59\":\"d\",\"60\":\"e\",\"61\":\"\\\"\",\"62\":\",\",\"63\":\"\\\"\",\"64\":\"r\",\"65\":\"e\",\"66\":\"q\",\"67\":\"u\",\"68\":\"i\",\"69\":\"r\",\"70\":\"e\",\"71\":\"\\\"\",\"72\":\":\",\"73\":\"1\",\"74\":\"}\",\"75\":\"}\",\"--code_output\":{\"type\":\"str\",\"label\":\"代码输出路径\",\"path\":\"/code\",\"require\":1}},\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":248.57921347744823,\"y\":7.451682379434722,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"--code_path\":\"234\",\"--branch\":\"234\",\"--depth\":\"324\",\"--ssh_private_key\":\"23423\",\"depth\":0}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-15 09:19:41', 'admin', '2024-01-16 09:51:15', 0); +INSERT INTO `workflow` VALUES (58, 'dsffads', 'asfadsf', '{\"nodes\":[{\"0\":\"7200\",\"1\":\"2\",\"id\":\"git-clone-7fab1783\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"启动命令\",\"resources_standard\":\"324\",\"control_strategy\":\"[{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\\\",\\\"editable\\\":1,\\\"value\\\":\\\"7200\\\"},{\\\"type\\\":\\\"int\\\",\\\"label\\\":\\\"重试次数\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"0\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"组件运行失败自动重试次数\\\",\\\"editable\\\":1,\\\"value\\\":\\\"2\\\"}]\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"sfsfsadf\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"master\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-15T13:40:03.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-15T13:40:03.000+08:00\",\"state\":1,\"image\":\"sdfsfadfdafds\",\"env_variables\":\"aa=bb\",\"x\":96.23056300268097,\"y\":155.7319034852547,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"超时中断\":\"2\",\"重试次数\":\"2\",\"depth\":0,\"--code_path\":\"sfsfsadf\",\"--branch\":\"master\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-5f1ce402\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"SFSFAFA\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"3600\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"2\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"mnist\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"CC=DD\\nEE=FF\",\"x\":114.99450634503813,\"y\":192.02422747982732,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"3600\",\"retry_times\":\"2\",\"--dataset\":\"mnist\",\"--model_name\":\"\",\"--model_output\":\"/model\"}],\"edges\":[{\"source\":\"git-clone-7fab1783\",\"target\":\"model-train-5f1ce402\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.80588811892232861705376735793\",\"startPoint\":{\"x\":96.23056300268098,\"y\":155.7319034852547},\"endPoint\":{\"x\":114.99450634503813,\"y\":192.02422747982732},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-16 10:56:55', 'admin', '2024-01-16 11:46:59', 0); +INSERT INTO `workflow` VALUES (59, '324', '4234', NULL, NULL, 'admin', '2024-01-16 11:43:46', 'admin', '2024-01-16 11:43:46', 0); +INSERT INTO `workflow` VALUES (60, '测试接口流水线', '测试', '{\"nodes\":[{\"id\":\"git-clone-fd4d56\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 1, 内存: 2GB\\\\\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"master\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:37:54.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:37:54.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":396.20001220703125,\"y\":92.16249084472656,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"retry_times\":\"1\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"master\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0},{\"id\":\"model-train-51a3566\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":435.20001220703125,\"y\":207.16249084472656,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0}],\"edges\":[{\"source\":\"git-clone-fd4d56\",\"target\":\"model-train-51a3566\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.88546799091257491705384300601\",\"startPoint\":{\"x\":396.20001220703125,\"y\":92.16249084472656},\"endPoint\":{\"x\":435.20001220703125,\"y\":207.16249084472656},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"git-clone-fd4d56\",\"target\":\"git-clone-fd4d56\",\"type\":\"loop\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.52301659420844951705384305585\",\"startPoint\":{\"x\":378.45001220703125,\"y\":56.66249084472656},\"endPoint\":{\"x\":413.95001220703125,\"y\":56.66249084472656},\"loopCfg\":{\"position\":\"top\",\"dist\":50},\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-16 13:48:36', 'admin', '2024-01-16 13:54:26', 0); +INSERT INTO `workflow` VALUES (61, '测试接口流水线', '设计', '{\"nodes\":[{\"id\":\"git-clone-35e4b7b7\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:37:54.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:37:54.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":347,\"y\":125.38749694824219,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0,\"max_run_time\":\"0\"},{\"id\":\"model-train-0798f5f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-35e4b7b7.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":313.6465134638248,\"y\":217.0234391702886,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"retry_times\":\"0\"},{\"id\":\"model-train-4d6cc04\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-35e4b7b7.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-0798f5f.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":374.7110353336509,\"y\":326.60703400941577,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-0798f5f.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0},{\"id\":\"model-train-f5e8375\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-35e4b7b7.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-0798f5f.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-01-16T11:38:18.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-16T11:38:18.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":138.94479032475843,\"y\":322.5885023081963,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-0798f5f.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-35e4b7b7\",\"target\":\"model-train-0798f5f\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.159430719649826141705384556185\",\"startPoint\":{\"x\":347,\"y\":125.38749694824219},\"endPoint\":{\"x\":313.6465134638248,\"y\":217.0234391702886},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-0798f5f\",\"target\":\"model-train-4d6cc04\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.063445436037490311705391807441\",\"startPoint\":{\"x\":313.6465134638248,\"y\":217.0234391702886},\"endPoint\":{\"x\":374.7110353336509,\"y\":326.60703400941577},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-0798f5f\",\"target\":\"model-train-f5e8375\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.103591317098980841705476907383\",\"startPoint\":{\"x\":313.6465134638248,\"y\":217.0234391702886},\"endPoint\":{\"x\":138.94479032475843,\"y\":322.5885023081963},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-16 13:54:48', 'admin', '2024-01-18 17:02:23', 0); +INSERT INTO `workflow` VALUES (62, '2323', '213', '{\"nodes\":[],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-17 10:37:07', 'admin', '2024-01-17 10:37:07', 0); +INSERT INTO `workflow` VALUES (63, '2323', '213', '{\"nodes\":[{\"id\":\"git-clone-2b5abceb\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":205,\"y\":181,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-17 10:37:15', 'admin', '2024-01-19 11:16:24', 0); +INSERT INTO `workflow` VALUES (64, '测试接口流水线', '设计', '{\"nodes\":[{\"id\":\"git-clone-0a759f7\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":197.39996337890625,\"y\":120,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"model-train-ad3c3e\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":468.39996337890625,\"y\":126,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-17 15:39:01', 'admin', '2024-01-22 09:29:43', 0); +INSERT INTO `workflow` VALUES (65, '4', '234234', NULL, NULL, 'admin', '2024-01-17 16:42:17', 'admin', '2024-01-17 16:42:17', 0); +INSERT INTO `workflow` VALUES (66, 'testqwqw', '1212', '{\"nodes\":[{\"id\":\"git-clone-130df165\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":310,\"y\":185,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-17 16:48:14', 'admin', '2024-01-18 15:29:16', 0); +INSERT INTO `workflow` VALUES (67, 'testqwqw', '1212', '{\"nodes\":[{\"id\":\"git-clone-9412b\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":267,\"y\":181,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-18 08:48:37', 'admin', '2024-01-18 15:29:05', 0); +INSERT INTO `workflow` VALUES (68, 'test', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', NULL, 'admin', '2024-01-22 15:17:38', 'admin', '2024-01-25 11:08:23', 0); +INSERT INTO `workflow` VALUES (69, 'test0124', 'test', NULL, NULL, 'admin', '2024-01-24 09:13:18', 'admin', '2024-01-24 09:13:18', 0); +INSERT INTO `workflow` VALUES (70, 'mnsit-0124', '测试接口0124', '{\"nodes\":[{\"id\":\"git-clone-58252975\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":806.1162039034662,\"y\":97.96333604302986,\"label\":\"克隆训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0,\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--code_output\":\"/code\",\"--depth\":\"1\"},{\"id\":\"model-train-7064f00\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":803.6513097729328,\"y\":227.1054241623483,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-7fe21e4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":685.2643030774179,\"y\":408.3345428099675,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result-new\",\"depth\":0},{\"id\":\"model-train-afcf186\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":955.8927139658065,\"y\":400.70364911004737,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-58252975\",\"target\":\"model-train-7064f00\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.66531006564768451706059692250\",\"startPoint\":{\"x\":806.1162039034662,\"y\":97.96333604302987},\"endPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-7fe21e4\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.50795512775462131706059710625\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":685.2643030774179,\"y\":408.3345428099675},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-afcf186\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.91951665829011691706059718272\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":955.8927139658065,\"y\":400.70364911004737},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-24 09:15:34', 'admin', '2024-02-29 15:19:46', 1); +INSERT INTO `workflow` VALUES (71, 'mnsit-0124', '测试接口0124', '{\"nodes\":[{\"id\":\"git-clone-58252975\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":806.1162039034662,\"y\":97.96333604302986,\"label\":\"克隆训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--code_output\":\"/code\",\"--depth\":\"1\"},{\"id\":\"model-train-7064f00\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":803.6513097729328,\"y\":227.1054241623483,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-7fe21e4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":685.2643030774179,\"y\":408.3345428099675,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result-new\",\"depth\":0},{\"id\":\"model-train-afcf186\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":955.8927139658065,\"y\":400.70364911004737,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-58252975\",\"target\":\"model-train-7064f00\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.66531006564768451706059692250\",\"startPoint\":{\"x\":806.1162039034662,\"y\":97.96333604302987},\"endPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-7fe21e4\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.50795512775462131706059710625\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":685.2643030774179,\"y\":408.3345428099675},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-afcf186\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.91951665829011691706059718272\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":955.8927139658065,\"y\":400.70364911004737},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-25 16:08:41', 'admin', '2024-01-25 16:08:41', 0); +INSERT INTO `workflow` VALUES (72, 'test', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', NULL, 'admin', '2024-01-25 16:36:59', 'admin', '2024-01-25 16:36:59', 0); +INSERT INTO `workflow` VALUES (73, 'test', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', NULL, 'admin', '2024-01-25 16:38:25', 'admin', '2024-01-25 16:38:25', 0); +INSERT INTO `workflow` VALUES (74, 'test-copy', '测试', '{\"nodes\":[{\"id\":\"git-clone-3f12e15\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":147.4714640198511,\"y\":161.46277915632754,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-6cfde796\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":305.5831265508685,\"y\":202.36104218362283,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[{\"source\":\"git-clone-3f12e15\",\"target\":\"git-clone-6cfde796\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.437009521999460751706152006393\",\"startPoint\":{\"x\":147.4714640198511,\"y\":161.46277915632754},\"endPoint\":{\"x\":305.5831265508685,\"y\":202.36104218362283},\"curveOffset\":0,\"curvePosition\":0.5}],\"combos\":[]}', NULL, 'admin', '2024-01-25 16:40:53', 'admin', '2024-01-25 16:40:53', 0); +INSERT INTO `workflow` VALUES (75, 'mnsit-0124-copy', '测试接口0124', '{\"nodes\":[{\"id\":\"git-clone-58252975\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":806.1162039034662,\"y\":97.96333604302986,\"label\":\"克隆训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--code_output\":\"/code\",\"--depth\":\"1\"},{\"id\":\"model-train-7064f00\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":803.6513097729328,\"y\":227.1054241623483,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-7fe21e4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":685.2643030774179,\"y\":408.3345428099675,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result-new\",\"depth\":0},{\"id\":\"model-train-afcf186\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-58252975.--code_output}}\",\"command\":\"python inferenced.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"0\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7064f00.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":955.8927139658065,\"y\":400.70364911004737,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"max_run_time\":\"0\",\"retry_times\":\"0\",\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7064f00.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-58252975\",\"target\":\"model-train-7064f00\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.66531006564768451706059692250\",\"startPoint\":{\"x\":806.1162039034662,\"y\":97.96333604302987},\"endPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-7fe21e4\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.50795512775462131706059710625\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":685.2643030774179,\"y\":408.3345428099675},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-7064f00\",\"target\":\"model-train-afcf186\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.91951665829011691706059718272\",\"startPoint\":{\"x\":803.6513097729328,\"y\":227.1054241623483},\"endPoint\":{\"x\":955.8927139658065,\"y\":400.70364911004737},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-25 16:56:37', 'admin', '2024-01-25 16:56:56', 1); +INSERT INTO `workflow` VALUES (76, '蒋宇航', '测试流水线1', '{\"nodes\":[{\"id\":\"git-clone-180a8b7c\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":152.33331298828125,\"y\":251,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"model-train-fc0a330\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":591.3333129882812,\"y\":316,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"model-train-aeb9ed4\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":316.33331298828125,\"y\":513,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\",\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0}],\"edges\":[{\"source\":\"git-clone-180a8b7c\",\"target\":\"model-train-fc0a330\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.57295050905726491706326346706\",\"startPoint\":{\"x\":152.33331298828125,\"y\":251},\"endPoint\":{\"x\":591.3333129882812,\"y\":316},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-aeb9ed4\",\"target\":\"model-train-fc0a330\",\"type\":\"quadratic\",\"style\":{\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10,\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1}},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.49683325418709571706326365402\",\"startPoint\":{\"x\":316.33331298828125,\"y\":513},\"endPoint\":{\"x\":591.3333129882812,\"y\":316},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-27 11:21:19', 'admin', '2024-01-27 11:38:28', 0); +INSERT INTO `workflow` VALUES (77, 'mnist-0127', '手写体识别', '{\"nodes\":[{\"id\":\"git-clone-e0a5a90\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\" {\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":451,\"y\":149.3874969482422,\"label\":\"拉取训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0},{\"id\":\"model-train-d7d93ff\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-e0a5a90.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":487,\"y\":269.3874969482422,\"label\":\"mnist模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-fe7e26\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-e0a5a90.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-d7d93ff.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":368,\"y\":403.3874969482422,\"label\":\"mnist模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-d7d93ff.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-c3dfe14\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-e0a5a90.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-d7d93ff.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":671,\"y\":373.3874969482422,\"label\":\"mnist模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-d7d93ff.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-e0a5a90\",\"target\":\"model-train-d7d93ff\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.09874154511830381706334301827\",\"startPoint\":{\"x\":451,\"y\":149.3874969482422},\"endPoint\":{\"x\":487,\"y\":269.3874969482422},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-d7d93ff\",\"target\":\"model-train-fe7e26\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.62542159931637921706334303419\",\"startPoint\":{\"x\":487,\"y\":269.3874969482422},\"endPoint\":{\"x\":368,\"y\":403.3874969482422},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-d7d93ff\",\"target\":\"model-train-c3dfe14\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.38922951881311211706334305291\",\"startPoint\":{\"x\":487,\"y\":269.3874969482422},\"endPoint\":{\"x\":671,\"y\":373.3874969482422},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-27 13:36:40', 'admin', '2024-01-27 15:33:59', 1); +INSERT INTO `workflow` VALUES (78, 'mnist-0127-copy', '手写体识别', '{\"nodes\":[{\"id\":\"git-clone-e0a5a90\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 1, 内存: 2GB\\\\\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":451,\"y\":149.3874969482422,\"label\":\"拉取训练代码\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0},{\"id\":\"model-train-d7d93ff\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-e0a5a90.--code_ouput}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":487,\"y\":269.3874969482422,\"label\":\"mnist模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-fe7e26\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-e0a5a90.--code_ouput}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-d7d93ff.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":368,\"y\":403.3874969482422,\"label\":\"mnist模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-d7d93ff.--model_output}}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-c3dfe14\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-e0a5a90.--code_ouput}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-d7d93ff.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\" 172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":671,\"y\":373.3874969482422,\"label\":\"mnist模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"fill\":\"transparent\",\"stroke\":\"transparent\"},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-d7d93ff.--model_output}}\"}],\"edges\":[{\"source\":\"git-clone-e0a5a90\",\"target\":\"model-train-d7d93ff\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.09874154511830381706334301827\",\"startPoint\":{\"x\":451,\"y\":149.3874969482422},\"endPoint\":{\"x\":487,\"y\":269.3874969482422},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-d7d93ff\",\"target\":\"model-train-fe7e26\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.62542159931637921706334303419\",\"startPoint\":{\"x\":487,\"y\":269.3874969482422},\"endPoint\":{\"x\":368,\"y\":403.3874969482422},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-d7d93ff\",\"target\":\"model-train-c3dfe14\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.38922951881311211706334305291\",\"startPoint\":{\"x\":487,\"y\":269.3874969482422},\"endPoint\":{\"x\":671,\"y\":373.3874969482422},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-27 13:59:53', 'admin', '2024-01-27 13:59:53', 0); +INSERT INTO `workflow` VALUES (79, 'mnist-0129', 'mnist手写体识别', '{\"nodes\":[{\"id\":\"git-clone-d224bd\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":330,\"y\":204.453125,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}},{\"id\":\"git-clone-5efada5e\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":402,\"y\":299.453125,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"cursor\":\"pointer\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"fill\":\"transparent\",\"stroke\":\"transparent\"}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-01-29 11:36:31', 'admin', '2024-02-03 10:12:48', 0); +INSERT INTO `workflow` VALUES (80, 'mnist-0129-show', 'mnist训练', '{\"nodes\":[{\"id\":\"git-clone-60b96154\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":349,\"y\":151.3874969482422,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"transparent\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0},{\"id\":\"model-train-ddcb4e8\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-60b96154.--code_output}}\",\"command\":\"python train.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\" {\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":317,\"y\":265.3874969482422,\"label\":\"mnist训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"transparent\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\" {\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-5cc6ade3\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-60b96154.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-ddcb4e8.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":340,\"y\":399.3874969482422,\"label\":\"模型测试\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":70,\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":12,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":0,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"transparent\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-ddcb4e8.--model_output}}\",\"--model_output\":\"/result\"}],\"edges\":[{\"source\":\"git-clone-60b96154\",\"target\":\"model-train-ddcb4e8\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.75962167134951961706519053205\",\"startPoint\":{\"x\":349,\"y\":186.6374969482422,\"anchorIndex\":1},\"endPoint\":{\"x\":317,\"y\":230.1374969482422,\"anchorIndex\":0},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0},{\"source\":\"model-train-ddcb4e8\",\"target\":\"model-train-5cc6ade3\",\"type\":\"quadratic\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":true,\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":10},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.205413815709410531706519055117\",\"startPoint\":{\"x\":317,\"y\":300.6374969482422,\"anchorIndex\":1},\"endPoint\":{\"x\":340,\"y\":364.1374969482422,\"anchorIndex\":0},\"curveOffset\":0,\"curvePosition\":0.5,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-01-29 17:01:55', 'admin', '2024-03-25 11:25:25', 1); +INSERT INTO `workflow` VALUES (81, 'mnist-0220', '识别提识别', '{\"nodes\":[{\"id\":\"git-clone-d029603\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":178.62273992605316,\"y\":149.75927726016081,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5},\"depth\":0},{\"id\":\"model-train-792c2aaa\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":415.8487630371477,\"y\":296.3982939752473,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5},\"depth\":0},{\"id\":\"model-train-64e9b14\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":613.9562493082861,\"y\":131.08490886281422,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5},\"depth\":0},{\"id\":\"model-train-228b1a56\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":741.4277051122262,\"y\":315.0453936305929,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5,\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0},{\"id\":\"git-clone-07b6375\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":381.74440754215385,\"y\":447.2477268139752,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5}},{\"id\":\"git-clone-14612ad\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":389.3082809093493,\"y\":68.0046855283746,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5}}],\"edges\":[{\"source\":\"git-clone-d029603\",\"target\":\"model-train-792c2aaa\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.5577806805575581709107431004\",\"startPoint\":{\"x\":178.62273992605316,\"y\":168.00927726016081,\"anchorIndex\":1},\"endPoint\":{\"x\":415.8487630371477,\"y\":278.1482939752473,\"anchorIndex\":0},\"curveOffset\":[0,0],\"curvePosition\":[0.5,0.5],\"targetAnchor\":0,\"depth\":0,\"minCurveOffset\":[0,0]},{\"source\":\"git-clone-07b6375\",\"target\":\"model-train-792c2aaa\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.1852690160835081709108652339\",\"startPoint\":{\"x\":381.74440754215385,\"y\":428.9977268139752,\"anchorIndex\":0},\"endPoint\":{\"x\":415.8487630371477,\"y\":278.1482939752473,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0},{\"source\":\"git-clone-14612ad\",\"target\":\"model-train-64e9b14\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.0271472084213357781709175746085\",\"startPoint\":{\"x\":389.3082809093493,\"y\":86.2546855283746,\"anchorIndex\":1},\"endPoint\":{\"x\":613.9562493082861,\"y\":112.83490886281422,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0}],\"combos\":[]}', NULL, 'admin', '2024-02-20 16:47:51', 'admin', '2024-02-29 11:02:33', 1); +INSERT INTO `workflow` VALUES (82, 'mnist-0229', '手写体识别', NULL, NULL, 'admin', '2024-02-29 08:36:37', 'admin', '2024-02-29 08:36:37', 1); +INSERT INTO `workflow` VALUES (83, 'NIM测试', '测试全局参数', '{\"nodes\":[{\"id\":\"git-clone-4bd273c1\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-7f75cd56\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python train_aim.py --batch_size=256 --epoch=300\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-1362253f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7f75cd56.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7f75cd56.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-26a2be3c\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7f75cd56.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7f75cd56.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-4bd273c1\",\"target\":\"model-train-7f75cd56\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-7f75cd56\",\"target\":\"model-train-1362253f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-7f75cd56\",\"target\":\"model-train-26a2be3c\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', '[{\"workflow_id\":83,\"param_name\":\"batchsize\",\"description\":\"This is a test parameter for front-end testing.\",\"param_type\":1,\"param_value\":256,\"is_sensitive\":0},{\"workflow_id\":83,\"param_name\":\"epoch\",\"description\":\"Another test parameter for front-end testing.\",\"param_type\":2,\"param_value\":1024,\"is_sensitive\":1},{\"workflow_id\":83,\"param_name\":\"torch_size\",\"description\":\"Yet another test parameter for advanced testing.\",\"param_type\":3,\"param_value\":\"ComplexValue\",\"is_sensitive\":0}]', 'admin', '2024-03-01 11:10:51', 'admin', '2024-04-01 14:38:15', 1); +INSERT INTO `workflow` VALUES (84, 'mnist-0301-new', '手写体识别new', NULL, NULL, 'admin', '2024-03-01 11:16:49', 'admin', '2024-03-01 11:16:49', 1); +INSERT INTO `workflow` VALUES (85, 'dafdsdf', 'sfdasd', NULL, NULL, 'admin', '2024-03-01 11:22:46', 'admin', '2024-03-01 11:22:46', 1); +INSERT INTO `workflow` VALUES (86, 'mnist-3241', 'sf', NULL, NULL, 'admin', '2024-03-01 13:34:58', 'admin', '2024-03-01 13:34:58', 1); +INSERT INTO `workflow` VALUES (87, '324', '23423', NULL, NULL, 'admin', '2024-03-01 13:42:14', 'admin', '2024-03-01 13:42:14', 1); +INSERT INTO `workflow` VALUES (88, '34234', '234234', NULL, NULL, 'admin', '2024-03-01 13:43:01', 'admin', '2024-03-01 13:43:01', 1); +INSERT INTO `workflow` VALUES (89, '22222', '22222222', NULL, NULL, 'admin', '2024-03-01 13:43:22', 'admin', '2024-03-01 13:43:22', 0); +INSERT INTO `workflow` VALUES (90, '42334', '234234', '{\"nodes\":[{\"id\":\"git-clone-7ca2e9fa\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":337,\"y\":167.453125,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5}},{\"id\":\"git-clone-12c1b925\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":370,\"y\":323.453125,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5}}],\"edges\":[{\"source\":\"git-clone-7ca2e9fa\",\"target\":\"git-clone-12c1b925\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.81117797298838081709271831690\",\"startPoint\":{\"x\":337,\"y\":185.703125,\"anchorIndex\":1},\"endPoint\":{\"x\":370,\"y\":305.203125,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-01 13:43:52', 'admin', '2024-03-01 13:44:02', 0); +INSERT INTO `workflow` VALUES (91, 'sfsfas', 'sfdfsdff', '{\"nodes\":[{\"id\":\"git-clone-d02f62c\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":512.2000122070312,\"y\":205.25,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5}},{\"id\":\"model-train-7a5f1e3a\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":498.20001220703125,\"y\":315.25,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"cursor\":\"pointer\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"radius\":10,\"lineWidth\":0.5}}],\"edges\":[{\"source\":\"git-clone-d02f62c\",\"target\":\"model-train-7a5f1e3a\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.409042419130461709271957112\",\"startPoint\":{\"x\":512.2000122070312,\"y\":223.5,\"anchorIndex\":1},\"endPoint\":{\"x\":498.20001220703125,\"y\":297,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-01 13:45:50', 'admin', '2024-03-01 13:46:06', 0); +INSERT INTO `workflow` VALUES (92, 'dsfsfas', 'fsfasfasf', '{\"nodes\":[{\"id\":\"git-clone-4cd494c\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":517.1550068587105,\"y\":68.99314128943759,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"lineWidth\":0.5,\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}}},{\"id\":\"git-clone-4a26121\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":561.0507544581618,\"y\":272.01097393689986,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"lineWidth\":0.5,\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}}},{\"id\":\"git-clone-dbe649b\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":195,\"y\":152,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"lineWidth\":0.5,\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-03-01 16:38:54', 'admin', '2024-03-02 09:31:13', 0); +INSERT INTO `workflow` VALUES (93, 'test0302', '这是一个测试', '{\"nodes\":[{\"id\":\"git-clone-7c4d6494\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"{}\",\"x\":533,\"y\":274,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\",\"depth\":0},{\"id\":\"model-train-c5cc6bd\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python train.py --batch_size=256 --epoch=2\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":666,\"y\":414,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\",\"depth\":0},{\"id\":\"model-train-3bddb0d\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":529,\"y\":637,\"label\":\"模型推理1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result\",\"depth\":0},{\"id\":\"model-train-4bf30bc8\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"{}\",\"x\":824,\"y\":633,\"label\":\"模型推理2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-7c4d6494\",\"target\":\"model-train-c5cc6bd\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.311465153553195151709343569629\",\"startPoint\":{\"x\":533,\"y\":292.25,\"anchorIndex\":1},\"endPoint\":{\"x\":666,\"y\":395.75,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0},{\"source\":\"model-train-c5cc6bd\",\"target\":\"model-train-3bddb0d\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.42415836721889821709343574051\",\"startPoint\":{\"x\":666,\"y\":432.25,\"anchorIndex\":1},\"endPoint\":{\"x\":529,\"y\":618.75,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0},{\"source\":\"model-train-c5cc6bd\",\"target\":\"model-train-4bf30bc8\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.53923149832286631709343576898\",\"startPoint\":{\"x\":666,\"y\":432.25,\"anchorIndex\":1},\"endPoint\":{\"x\":824,\"y\":614.75,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-02 09:18:04', 'admin', '2024-03-04 08:51:27', 1); +INSERT INTO `workflow` VALUES (94, 'test651', NULL, '{\"nodes\":[{\"id\":\"git-clone-3f3a035d\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":194,\"y\":147,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"lineWidth\":0.5}},{\"id\":\"model-train-6177f58a\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":200,\"y\":301,\"label\":\"通用模型训练组件\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"lineWidth\":0.5}}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-03-02 09:25:24', 'admin', '2024-03-02 09:25:28', 0); +INSERT INTO `workflow` VALUES (95, '0302', 'asfdaf', NULL, NULL, 'admin', '2024-03-02 13:41:59', 'admin', '2024-03-02 13:41:59', 0); +INSERT INTO `workflow` VALUES (96, 'mnist-0301-distributed', '手写体识别0301', '{\"nodes\":[{\"id\":\"git-clone-5d7271c8\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":599.4639999999998,\"y\":143.66799694824212,\"label\":\"代码拉取组件2\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"distributed-model-train-c6a977f\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"{{git-clone-5d7271c8.--code_output}}\",\"command\":\"python distributed.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"},\\\"--worker_num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"2\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T15:47:37.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T15:47:39.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_distributed\",\"env_variables\":\"\",\"x\":602,\"y\":262,\"label\":\"分布式训练\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--worker_num\":\"2\",\"depth\":0,\"--model_output\":\"/model\"},{\"id\":\"model-train-30578fa3\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-5d7271c8.--code_output}}\",\"command\":\"python test_distributed.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{distributed-model-train-c6a977f.--model_output}}}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_distributed\",\"env_variables\":\"\",\"x\":514.9269999999999,\"y\":395.149,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{distributed-model-train-c6a977f.--model_output}}}}\",\"--model_output\":\"/result\",\"depth\":0},{\"id\":\"model-train-6298e433\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-5d7271c8.--code_output}}\",\"command\":\"python test_distributed2.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{distributed-model-train-c6a977f.--model_output}}}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_distributed\",\"env_variables\":\"\",\"x\":719.9269999999999,\"y\":395.149,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{distributed-model-train-c6a977f.--model_output}}}}\",\"--model_output\":\"/result\",\"depth\":0}],\"edges\":[{\"source\":\"git-clone-5d7271c8\",\"target\":\"distributed-model-train-c6a977f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.77513804582868161709797821363\",\"startPoint\":{\"x\":599.4639999999998,\"y\":161.91799694824212,\"anchorIndex\":1},\"endPoint\":{\"x\":602,\"y\":243.75,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"distributed-model-train-c6a977f\",\"target\":\"model-train-30578fa3\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.6583013444528761709858110108\",\"startPoint\":{\"x\":602,\"y\":280.25,\"anchorIndex\":1},\"endPoint\":{\"x\":514.9269999999999,\"y\":376.899,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"distributed-model-train-c6a977f\",\"target\":\"model-train-6298e433\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.357811005111434041709858586369\",\"startPoint\":{\"x\":602,\"y\":280.25,\"anchorIndex\":1},\"endPoint\":{\"x\":719.9269999999999,\"y\":376.899,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', '[{\"workflow_id\":96,\"param_name\":\"batchsize\",\"description\":\"This is a test parameter for front-end testing.\",\"param_type\":1,\"param_value\":256,\"is_sensitive\":0},{\"workflow_id\":96,\"param_name\":\"epoch\",\"description\":\"Another test parameter for front-end testing.\",\"param_type\":2,\"param_value\":1024,\"is_sensitive\":1},{\"workflow_id\":96,\"param_name\":\"torch_size\",\"description\":\"Yet another test parameter for advanced testing.\",\"param_type\":3,\"param_value\":\"ComplexValue\",\"is_sensitive\":0}]', 'admin', '2024-03-07 13:49:05', 'admin', '2024-04-01 16:53:26', 1); +INSERT INTO `workflow` VALUES (97, 'mnist-0301-distributed-copy', '手写体识别0301', '{\"nodes\":[{\"id\":\"git-clone-1af5ea58\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-1682500a\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python train.py --batch_size=256 --epoch=2\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-d4ee410\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-b771166\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result-new\"},{\"id\":\"distributed-model-train-a73e1e2\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--worker-num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T13:48:34.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T13:48:34.000+08:00\",\"state\":1,\"image\":\"\",\"env_variables\":\"{}\",\"x\":645.68,\"y\":226.27999999999997,\"label\":\"分布式训练\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0}],\"edges\":[{\"source\":\"git-clone-1af5ea58\",\"target\":\"model-train-1682500a\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0,\"sourceAnchor\":1},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-d4ee410\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0,\"sourceAnchor\":1},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-b771166\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0,\"sourceAnchor\":1},{\"source\":\"git-clone-1af5ea58\",\"target\":\"distributed-model-train-a73e1e2\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.27466675190809011709790591092\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":645.68,\"y\":208.02999999999997,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-07 13:54:26', 'admin', '2024-03-07 13:54:26', 0); +INSERT INTO `workflow` VALUES (98, 'mnist-0301-distributed-copy-copy', '手写体识别0301', '{\"nodes\":[{\"id\":\"git-clone-1af5ea58\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-1682500a\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python train.py --batch_size=256 --epoch=2\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-d4ee410\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-b771166\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result-new\"},{\"id\":\"distributed-model-train-a73e1e2\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--worker-num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T13:48:34.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T13:48:34.000+08:00\",\"state\":1,\"image\":\"\",\"env_variables\":\"{}\",\"x\":645.68,\"y\":226.27999999999997,\"label\":\"分布式训练\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0}],\"edges\":[{\"source\":\"git-clone-1af5ea58\",\"target\":\"model-train-1682500a\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0,\"sourceAnchor\":1},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-d4ee410\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0,\"sourceAnchor\":1},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-b771166\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0,\"sourceAnchor\":1},{\"source\":\"git-clone-1af5ea58\",\"target\":\"distributed-model-train-a73e1e2\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.27466675190809011709790591092\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":645.68,\"y\":208.02999999999997,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-07 13:56:12', 'admin', '2024-03-07 13:56:12', 0); +INSERT INTO `workflow` VALUES (99, 'mnist-0312-distributed', '手写体识别0312', '{\"nodes\":[{\"id\":\"git-clone-5d7271c8\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":599.4639999999998,\"y\":143.66799694824212,\"label\":\"代码拉取组件2\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"distributed-model-train-c6a977f\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"{{git-clone-5d7271c8.--code_output}}\",\"command\":\"python distributed.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"},\\\"--worker_num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"3\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T15:47:37.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T15:47:39.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_distributed\",\"env_variables\":\"\",\"x\":602,\"y\":262,\"label\":\"分布式训练\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--worker_num\":\"3\",\"depth\":0,\"--model_output\":\"/model\"}],\"edges\":[{\"source\":\"git-clone-5d7271c8\",\"target\":\"distributed-model-train-c6a977f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.77513804582868161709797821363\",\"startPoint\":{\"x\":599.4639999999998,\"y\":161.91799694824212,\"anchorIndex\":1},\"endPoint\":{\"x\":602,\"y\":243.75,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-12 14:06:00', 'admin', '2024-03-12 14:06:47', 1); +INSERT INTO `workflow` VALUES (100, 'mnist-0314-distributed', '手写体识别0314', '{\"nodes\":[{\"id\":\"git-clone-5d7271c8\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":597.3382359999999,\"y\":90.52389694824215,\"label\":\"代码拉取组件2\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"distributed-model-train-c6a977f\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"{{git-clone-5d7271c8.--code_output}}\",\"command\":\"python distributed.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"},\\\"--worker_num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"3\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T15:47:37.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T15:47:39.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_distributed\",\"env_variables\":\"\",\"x\":513.791,\"y\":262,\"label\":\"分布式训练\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--worker_num\":\"3\",\"depth\":0,\"--model_output\":\"/model\"},{\"id\":\"distributed-model-train-9566fec\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"{{git-clone-5d7271c8.--code_output}}\",\"command\":\"python distributed.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"},\\\"--worker_num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"3\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T15:47:37.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T15:47:39.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_distributed\",\"env_variables\":\"\",\"x\":693.6800000000001,\"y\":265.645,\"label\":\"分布式训练2\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--worker_num\":\"3\",\"depth\":0,\"--model_output\":\"/model\"}],\"edges\":[{\"source\":\"git-clone-5d7271c8\",\"target\":\"distributed-model-train-c6a977f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.51025382849230171710314125422\",\"startPoint\":{\"x\":597.3382359999999,\"y\":108.77389694824215,\"anchorIndex\":1},\"endPoint\":{\"x\":513.791,\"y\":243.75,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0},{\"source\":\"git-clone-5d7271c8\",\"target\":\"distributed-model-train-9566fec\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#CDD0DC\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#CDD0DC\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.9664463219593721710314135382\",\"startPoint\":{\"x\":597.3382359999999,\"y\":108.77389694824215,\"anchorIndex\":1},\"endPoint\":{\"x\":693.6800000000001,\"y\":247.39499999999998,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"sourceAnchor\":1,\"targetAnchor\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-13 15:14:20', 'admin', '2024-03-13 15:15:38', 1); +INSERT INTO `workflow` VALUES (101, 'aim测试测试', '手写体识别0301-aim指标测试', '{\"nodes\":[{\"id\":\"git-clone-1af5ea58\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-1682500a\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python train_aim.py --batch_size=256 --epoch=3\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-d4ee410\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-b771166\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-1af5ea58\",\"target\":\"model-train-1682500a\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-d4ee410\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-b771166\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-14 10:57:16', 'admin', '2024-03-14 14:04:10', 1); +INSERT INTO `workflow` VALUES (102, 'aim测试测试-copy', '手写体识别0301-aim指标测试', '{\"nodes\":[{\"id\":\"git-clone-1af5ea58\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-1682500a\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python train_aim.py --batch_size=256 --epoch=3\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-d4ee410\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-b771166\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-1af5ea58.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-1682500a.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-1682500a.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-1af5ea58\",\"target\":\"model-train-1682500a\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-d4ee410\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-1682500a\",\"target\":\"model-train-b771166\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-18 09:29:04', 'admin', '2024-03-18 09:29:04', 0); +INSERT INTO `workflow` VALUES (103, 'aim测试测试-copy', '手写体识别0301-aim指标测试', '{\"nodes\":[{\"id\":\"git-clone-08b4261b\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-9405b44f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-08b4261b.--code_output}}\",\"command\":\"python train_aim.py --batch_size=256 --epoch=3\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-0b155052\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-08b4261b.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-9405b44f.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-9405b44f.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-8c73471f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-08b4261b.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-9405b44f.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-9405b44f.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-08b4261b\",\"target\":\"model-train-9405b44f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-9405b44f\",\"target\":\"model-train-0b155052\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-9405b44f\",\"target\":\"model-train-8c73471f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-22 15:59:17', 'admin', '2024-03-25 10:46:21', 1); +INSERT INTO `workflow` VALUES (104, 'mnist-0301-copy', '手写体识别0301', '{\"nodes\":[{\"id\":\"git-clone-cfb18938\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-c3c64dbe\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-cfb18938.--code_output}}\",\"command\":\"python train.py --batch_size=256 --epoch=200\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-9a615586\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-cfb18938.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-c3c64dbe.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-c3c64dbe.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-e63990c7\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-cfb18938.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-c3c64dbe.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-c3c64dbe.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-cfb18938\",\"target\":\"model-train-c3c64dbe\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-c3c64dbe\",\"target\":\"model-train-9a615586\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-c3c64dbe\",\"target\":\"model-train-e63990c7\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-22 15:59:58', 'admin', '2024-03-22 15:59:58', 0); +INSERT INTO `workflow` VALUES (105, 'mnist-0301-copy-copy', '手写体识别0301', '{\"nodes\":[{\"id\":\"git-clone-7d25a159\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"use-dataset-zip\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-e32b4329\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-7d25a159.--code_output}}\",\"command\":\"python train.py --batch_size=256 --epoch=200\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-50e88ed0\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-7d25a159.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-e32b4329.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-e32b4329.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-95333154\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-7d25a159.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-e32b4329.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-e32b4329.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-7d25a159\",\"target\":\"model-train-e32b4329\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-e32b4329\",\"target\":\"model-train-50e88ed0\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-e32b4329\",\"target\":\"model-train-95333154\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', NULL, 'admin', '2024-03-22 16:01:02', 'admin', '2024-03-22 16:01:02', 0); +INSERT INTO `workflow` VALUES (106, 'test001', NULL, '{\"nodes\":[{\"id\":\"git-clone-16a50c0\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取\",\"working_directory\":\"工作目录\",\"command\":\"启动命令\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"挂载目录\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-03-02T13:41:25.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-02T13:41:25.000+08:00\",\"state\":1,\"image\":\"镜像\",\"env_variables\":\"{}\",\"x\":299,\"y\":232,\"label\":\"代码拉取\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5,\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}}},{\"id\":\"distributed-model-train-7c406ba\",\"category_id\":2,\"component_name\":\"distributed-model-train\",\"component_label\":\"分布式训练\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":null,\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\",\\\"value\\\":\\\"1\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"},\\\"--worker_num\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"分布式训练work数量\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"分布式训练work数量\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1}}\",\"description\":\"分布式模型训练组件,支持deepspeed, metatron, horovod\",\"icon_path\":null,\"create_by\":\"admin\",\"create_time\":\"2024-03-07T15:47:37.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-03-07T15:47:39.000+08:00\",\"state\":1,\"image\":\"\",\"env_variables\":\"{}\",\"x\":485,\"y\":228,\"label\":\"分布式训练\",\"img\":\"/assets/images/null.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"transparent\",\"fontSize\":0,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\"}},\"style\":{\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5,\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1}},\"depth\":0}],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-03-25 10:37:07', 'admin', '2024-03-25 10:38:54', 1); +INSERT INTO `workflow` VALUES (107, 'test001', NULL, '{\"nodes\":[],\"edges\":[],\"combos\":[]}', NULL, 'admin', '2024-03-25 10:39:01', 'admin', '2024-03-25 10:40:34', 0); +INSERT INTO `workflow` VALUES (108, NULL, NULL, NULL, NULL, 'admin', '2024-03-25 10:40:41', 'admin', '2024-03-25 10:40:41', 0); +INSERT INTO `workflow` VALUES (109, NULL, NULL, NULL, NULL, 'admin', '2024-03-25 10:40:46', 'admin', '2024-03-25 10:40:46', 0); +INSERT INTO `workflow` VALUES (110, NULL, NULL, NULL, NULL, 'admin', '2024-03-25 11:39:34', 'admin', '2024-03-25 11:39:34', 0); +INSERT INTO `workflow` VALUES (111, 'aim测试测试-copy', '手写体识别0301-aim指标测试', '{\"nodes\":[{\"id\":\"git-clone-4bd273c1\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-7f75cd56\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python train_aim.py --batch_size=256 --epoch=3\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-1362253f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7f75cd56.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7f75cd56.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-26a2be3c\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7f75cd56.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7f75cd56.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-4bd273c1\",\"target\":\"model-train-7f75cd56\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-7f75cd56\",\"target\":\"model-train-1362253f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-7f75cd56\",\"target\":\"model-train-26a2be3c\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', '[{\"workflow_id\":111,\"param_name\":\"batchsize\",\"description\":\"This is a test parameter for front-end testing.\",\"param_type\":1,\"param_value\":256,\"is_sensitive\":0},{\"workflow_id\":111,\"param_name\":\"epoch\",\"description\":\"Another test parameter for front-end testing.\",\"param_type\":2,\"param_value\":1024,\"is_sensitive\":1},{\"workflow_id\":111,\"param_name\":\"torch_size\",\"description\":\"Yet another test parameter for advanced testing.\",\"param_type\":3,\"param_value\":\"ComplexValue\",\"is_sensitive\":0}]', 'admin', '2024-03-25 15:49:33', 'admin', '2024-03-29 14:24:10', 1); +INSERT INTO `workflow` VALUES (112, 'NnIM测试', 'safasfsaf', NULL, NULL, 'admin', '2024-03-28 15:02:14', 'admin', '2024-03-28 15:02:14', 0); +INSERT INTO `workflow` VALUES (113, 'NIM测试测试-copy', '手写体识别0301-aim指标测试', '{\"nodes\":[{\"id\":\"git-clone-4bd273c1\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-7f75cd56\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python train_aim.py --batch_size=256 --epoch=3\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 1, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"},{\"id\":\"model-train-1362253f\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7f75cd56.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":391.49676749861436,\"y\":315.3755737715332,\"label\":\"模型测试1\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7f75cd56.--model_output}}\",\"--model_output\":\"/result\"},{\"id\":\"model-train-26a2be3c\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-4bd273c1.--code_output}}\",\"command\":\"python inference.py\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{{model-train-7f75cd56.--model_output}}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/result-new\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/machine-learning/pytorch:pytorch_1.9.1_cuda11.1_detection_aim\",\"env_variables\":\"\",\"x\":541.4967674986144,\"y\":315.3755737715332,\"label\":\"模型测试2\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"transparent\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{{model-train-7f75cd56.--model_output}}\",\"--model_output\":\"/result-new\"}],\"edges\":[{\"source\":\"git-clone-4bd273c1\",\"target\":\"model-train-7f75cd56\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-7f75cd56\",\"target\":\"model-train-1362253f\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.31721243827888211709271377841\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":391.49676749861436,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0},{\"source\":\"model-train-7f75cd56\",\"target\":\"model-train-26a2be3c\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.82213432056017741709273667956\",\"startPoint\":{\"x\":466,\"y\":241.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":541.4967674986144,\"y\":297.1255737715332,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', '[{\"workflow_id\":111,\"param_name\":\"batchsize\",\"description\":\"This is a test parameter for front-end testing.\",\"param_type\":1,\"param_value\":256,\"is_sensitive\":0},{\"workflow_id\":111,\"param_name\":\"epoch\",\"description\":\"Another test parameter for front-end testing.\",\"param_type\":2,\"param_value\":1024,\"is_sensitive\":1},{\"workflow_id\":111,\"param_name\":\"torch_size\",\"description\":\"Yet another test parameter for advanced testing.\",\"param_type\":3,\"param_value\":\"ComplexValue\",\"is_sensitive\":0}]', 'admin', '2024-03-29 14:25:36', 'admin', '2024-03-29 14:25:36', 1); +INSERT INTO `workflow` VALUES (114, 'tensorboard测试', '测试tensorboard挂盘', '{\"nodes\":[{\"id\":\"git-clone-3f832e91\",\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"代码拉取组件\",\"working_directory\":\"\",\"command\":\"\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码仓库地址\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"私有仓库填写ssh地址,公有仓库填写https git地址\\\",\\\"describe\\\":\\\"代码仓库地址\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"代码分支/tag\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"master\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码分支或者tag\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"aim-test\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"克隆深度\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"代码克隆深度\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"ssh私钥\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"default\\\":\\\"1\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"ssh私钥,确保ssh公钥已经托管到代码平台,否则可能拉取失败\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\"}}\",\"out_parameters\":\"{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"代码输出路径\\\",\\\"path\\\":\\\"/code\\\",\\\"require\\\":1,\\\"value\\\":\\\"/code\\\"}}\",\"description\":\"代码拉取组件\",\"icon_path\":\"component-icon-1\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:11.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:11.000+08:00\",\"state\":1,\"image\":\"172.20.32.187/pipeline-component/built-in/git:202312071000\",\"env_variables\":\"\",\"x\":461,\"y\":127.38749694824213,\"label\":\"代码拉取组件\",\"img\":\"/assets/images/component-icon-1.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--code_path\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"--branch\":\"aim-test\",\"--depth\":\"1\",\"--code_output\":\"/code\"},{\"id\":\"model-train-f4c59bb6\",\"category_id\":2,\"component_name\":\"model-train\",\"component_label\":\"通用模型训练组件\",\"working_directory\":\"{{git-clone-3f832e91.--code_output}}\",\"command\":\"python testTensorboard.py --batchsize=256 --epoch=3\",\"resources_standard\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\",\"control_strategy\":\"{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"超时中断\\\",\\\"item_type\\\":\\\"\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"label\\\":\\\"重试次数\\\"}}\",\"mount_path\":\"\",\"in_parameters\":\"{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"label\\\":\\\"选择数据集\\\",\\\"require\\\":1,\\\"choice\\\":[],\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"选择数据集\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"label\\\":\\\"选择模型\\\",\\\"require\\\":0,\\\"choice\\\":[],\\\"range\\\":\\\"$min,$max\\\",\\\"default\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"describe\\\":\\\"这里是这个参数的描述和备注\\\",\\\"editable\\\":1,\\\"condition\\\":\\\"\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}}\",\"out_parameters\":\"{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"label\\\":\\\"模型输出路径\\\",\\\"path\\\":\\\"/model\\\",\\\"require\\\":1,\\\"value\\\":\\\"/model\\\"}}\",\"description\":\"通用模型训练组件介绍\",\"icon_path\":\"component-icon-2\",\"create_by\":\"admin\",\"create_time\":\"2024-01-18T08:45:14.000+08:00\",\"update_by\":\"admin\",\"update_time\":\"2024-01-18T08:45:14.000+08:00\",\"state\":1,\"image\":\"172.20.30.187/machine-learning/tensorboard-test:v1\",\"env_variables\":\"\",\"x\":466,\"y\":223.38749694824213,\"label\":\"模型训练\",\"img\":\"/assets/images/component-icon-2.png\",\"isCluster\":false,\"type\":\"rect-node\",\"size\":[110,36],\"labelCfg\":{\"style\":{\"fill\":\"#000\",\"fontSize\":10,\"boxShadow\":\"0px 0px 12px rgba(75, 84, 137, 0.05)\",\"overflow\":\"hidden\",\"x\":-20,\"y\":0,\"textAlign\":\"left\",\"textBaseline\":\"middle\",\"cursor\":\"pointer\"}},\"style\":{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10},\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":4,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"stroke\":\"#4572d9\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"stroke\":\"rgb(191, 213, 255)\",\"lineWidth\":1},\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"stroke\":\"rgb(224, 224, 224)\",\"lineWidth\":1},\"nodeSelected\":{\"fill\":\"red\",\"shadowColor\":\"red\",\"stroke\":\"red\",\"text-shape\":{\"fill\":\"red\",\"stroke\":\"red\"}},\"fill\":\"#fff\",\"stroke\":\"#1664ff\",\"cursor\":\"pointer\",\"radius\":10,\"overflow\":\"hidden\",\"lineWidth\":0.5},\"depth\":0,\"--dataset\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\",\"--model_name\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\",\"--model_output\":\"/model\"}],\"edges\":[{\"source\":\"git-clone-3f832e91\",\"target\":\"model-train-f4c59bb6\",\"type\":\"cubic-vertical\",\"style\":{\"active\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":1},\"selected\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"shadowColor\":\"rgb(95, 149, 255)\",\"shadowBlur\":10,\"text-shape\":{\"fontWeight\":500}},\"highlight\":{\"stroke\":\"rgb(95, 149, 255)\",\"lineWidth\":2,\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"stroke\":\"rgb(234, 234, 234)\",\"lineWidth\":1},\"disable\":{\"stroke\":\"rgb(245, 245, 245)\",\"lineWidth\":1},\"endArrow\":{\"path\":\"M 6,0 L 9,-1.5 L 9,1.5 Z\",\"d\":4.5,\"fill\":\"#a2a6b5\"},\"cursor\":\"pointer\",\"lineWidth\":1,\"opacity\":1,\"stroke\":\"#a2a6b5\",\"radius\":1},\"nodeStateStyle\":{\"hover\":{\"opacity\":1,\"stroke\":\"#8fe8ff\"}},\"labelCfg\":{\"autoRotate\":true,\"style\":{\"fontSize\":10,\"fill\":\"#FFF\"}},\"id\":\"edge-0.68904032703753691709262922230\",\"startPoint\":{\"x\":461,\"y\":145.63749694824213,\"anchorIndex\":1},\"endPoint\":{\"x\":466,\"y\":205.13749694824213,\"anchorIndex\":0},\"curvePosition\":[0.5,0.5],\"curveOffset\":[0,0],\"minCurveOffset\":[0,0],\"targetAnchor\":0,\"depth\":0}],\"combos\":[]}', '[{\"workflow_id\":83,\"param_name\":\"batchsize\",\"description\":\"This is a test parameter for front-end testing.\",\"param_type\":1,\"param_value\":256,\"is_sensitive\":0},{\"workflow_id\":83,\"param_name\":\"epoch\",\"description\":\"Another test parameter for front-end testing.\",\"param_type\":2,\"param_value\":1024,\"is_sensitive\":1},{\"workflow_id\":83,\"param_name\":\"torch_size\",\"description\":\"Yet another test parameter for advanced testing.\",\"param_type\":3,\"param_value\":\"ComplexValue\",\"is_sensitive\":0}]', 'admin', '2024-03-29 15:52:07', 'admin', '2024-03-29 16:16:44', 1); + +-- ---------------------------- +-- Table structure for workflow_param +-- ---------------------------- +DROP TABLE IF EXISTS `workflow_param`; +CREATE TABLE `workflow_param` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `workflow_id` bigint(20) NULL DEFAULT NULL COMMENT '流水线id', + `param_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数名称', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数描述', + `param_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数类型', + `param_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数的值', + `is_sensitive` tinyint(4) NULL DEFAULT NULL COMMENT '0失效,1生效', + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `state` tinyint(4) NULL DEFAULT NULL COMMENT '0失效,1生效', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of workflow_param +-- ---------------------------- +INSERT INTO `workflow_param` VALUES (1, 111, 'NewParameter-change', 'This is a test parameter for front-end testing.', '1', 'TestValue', 1, 'admin', '2024-03-26 10:55:28', 'admin', '2024-03-26 10:59:07', 1); SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/ry-ci4s_20240104.sql b/sql/ry-ci4s_20240104.sql deleted file mode 100644 index 02481d4e..00000000 --- a/sql/ry-ci4s_20240104.sql +++ /dev/null @@ -1,1046 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : localhost - Source Server Type : MySQL - Source Server Version : 50721 - Source Host : 172.20.32.150:3306 - Source Schema : ry-ci4s - - Target Server Type : MySQL - Target Server Version : 50721 - File Encoding : 65001 - - Date: 04/01/2024 16:24:54 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for component --- ---------------------------- -DROP TABLE IF EXISTS `component`; -CREATE TABLE `component` ( - `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键', - `category_id` int(4) NOT NULL COMMENT '类别ID,数据字典配置', - `component_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件name', - `component_label` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件面板名', - `images` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '镜像', - `working_directory` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工作目录', - `command` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '启动命令', - `env_virables` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '环境变量', - `resources_standard` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '资源规格', - `control_strategy` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '控制策略', - `mount_path` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '挂载路径', - `in_parameters` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '输入参数', - `out_parameters` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '输出参数', - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of component --- ---------------------------- -INSERT INTO `component` VALUES (9, 2, '通用模型训练', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 10:19:20', 'admin', '2023-12-15 10:19:20', 0); -INSERT INTO `component` VALUES (11, 2, 'model-train', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 10:19:25', 'admin', '2023-12-15 10:19:25', 0); -INSERT INTO `component` VALUES (12, 2, 'model-train', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 10:22:12', 'admin', '2023-12-15 10:22:12', 0); -INSERT INTO `component` VALUES (13, 4, 'model-train-Mnist', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 11:00:19', 'admin', '2023-12-15 11:00:19', 0); -INSERT INTO `component` VALUES (14, 4, 'model-train-Mnist', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 11:04:55', 'admin', '2023-12-15 11:04:55', 0); -INSERT INTO `component` VALUES (15, 2, 'model-train', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 13:46:30', 'admin', '2023-12-15 13:46:30', 0); -INSERT INTO `component` VALUES (16, 2, 'model-train', '计算机视觉模型训练组件', '镜像XXXXXXXXXXXXXXX', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-15 14:54:40', '苏影城', '2023-12-15 14:54:39', 0); -INSERT INTO `component` VALUES (17, 2, 'model-train', '计算机视觉模型训练组件', '镜像XXXXXXXXXXXXXXX', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, '苏影城', '2023-12-15 14:52:27', '苏影城', '2023-12-15 14:52:27', 0); -INSERT INTO `component` VALUES (18, 4, 'model-train-minst', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, '苏影城', '2023-12-15 15:07:08', '苏影城', '2023-12-15 15:07:08', 0); -INSERT INTO `component` VALUES (19, 3, 'model-process', '模型处理', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, 'admin', '2023-12-18 09:55:34', 'admin', '2023-12-18 09:55:33', 0); -INSERT INTO `component` VALUES (20, 4, 'model-train-minst', '通用模型训练组件', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, itemType=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --modelName={type=ref, itemType=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, formInfo={name=mnist, path=/mnt/e/xxxx}}}', '{--modelOutput={type=str, path=/model}}', NULL, '苏影城', '2023-12-18 11:22:48', '苏影城', '2023-12-18 11:22:48', 0); -INSERT INTO `component` VALUES (21, 2, '通用模型训练', '通用模型训练组件介绍', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, item_type=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --model_name={type=ref, item_type=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, form_info={name=mnist, path=/mnt/e/xxxx}}}', '{--model_output={type=str, path=/model}}', NULL, '苏影城', '2023-12-18 13:53:15', '苏影城', '2023-12-18 13:53:14', 0); -INSERT INTO `component` VALUES (22, 4, 'model-train-common', 'xxxxx', '镜像', '工作目录', '启动命令', '{}', NULL, '[{\"type\":\"str\",\"label\":\"超时中断\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行时长,支持s(秒),m(分钟),h(小时),d(天),示例:3h,代表3个小时超时,0表示不限制时长\",\"editable\":1},{\"type\":\"int\",\"label\":\"重试次数\",\"require\":1,\"choice\":[],\"default\":\"0\",\"placeholder\":\"\",\"describe\":\"组件运行失败自动重试次数\",\"editable\":1}]', '挂载目录', '{--dataset={type=ref, item_type=dataset, label=选择数据集, require=1, choice=[], default=, placeholder=, describe=选择数据集, editable=1, condition=}, --model_name={type=ref, item_type=model, label=选择模型, require=0, choice=[], range=$min,$max, default=, placeholder=, describe=这里是这个参数的描述和备注, editable=1, condition=, form_info={name=mnist, path=/mnt/e/xxxx}}}', '{--model_output={type=str, path=/model}}', NULL, 'admin', '2023-12-18 14:35:09', 'admin', '2023-12-18 14:35:08', 1); - --- ---------------------------- --- Table structure for computing_resource --- ---------------------------- -DROP TABLE IF EXISTS `computing_resource`; -CREATE TABLE `computing_resource` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', - `computing_resource` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '计算资源', - `standard` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规格', - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', - `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT NULL COMMENT '0,失效 1, 生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of computing_resource --- ---------------------------- - --- ---------------------------- --- Table structure for dataset --- ---------------------------- -DROP TABLE IF EXISTS `dataset`; -CREATE TABLE `dataset` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `data_type` int(11) NULL DEFAULT NULL, - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of dataset --- ---------------------------- -INSERT INTO `dataset` VALUES (1, 'MNIST', 'SDSDS', NULL, '', '2023-12-28 13:54:20', '', '2023-12-28 13:54:20', 0); -INSERT INTO `dataset` VALUES (2, '鸢尾花', 'sdasdsa', NULL, '', '2023-12-26 14:18:21', '', '2023-12-26 14:18:21', 0); -INSERT INTO `dataset` VALUES (4, 'start_workflow.json', NULL, NULL, '苏影城', '2023-12-26 16:01:45', '苏影城', '2023-12-26 16:01:45', 0); -INSERT INTO `dataset` VALUES (5, 'start_workflow.json', NULL, NULL, 'admin', '2023-12-27 09:16:59', 'admin', '2023-12-27 09:16:59', 0); -INSERT INTO `dataset` VALUES (6, 'workspace.postman_globals.json', NULL, NULL, '苏影城', '2023-12-27 11:30:16', '苏影城', '2023-12-27 11:30:16', 0); -INSERT INTO `dataset` VALUES (7, 'mnist', '计算机视觉手写体识别mnist数据集 二次修改', 1, 'admin', '2023-12-28 09:37:14', '苏影城', '2023-12-28 09:37:12', 0); -INSERT INTO `dataset` VALUES (8, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-27 15:21:02', 'admin', '2023-12-27 15:21:02', 0); -INSERT INTO `dataset` VALUES (9, 'mnist', '计算机视觉手写体识别mnist数据集XXXX', 2, 'admin', '2023-12-28 13:57:42', 'admin', '2023-12-28 14:03:22', 0); -INSERT INTO `dataset` VALUES (10, 'mnist', '计算机视觉手写体识别mnist数据集XXXX', 2, 'admin', '2023-12-28 14:34:30', 'admin', '2023-12-28 15:32:00', 0); -INSERT INTO `dataset` VALUES (11, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-28 14:34:04', 'admin', '2023-12-28 14:34:04', 0); -INSERT INTO `dataset` VALUES (12, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-28 16:03:51', 'admin', '2023-12-29 09:00:22', 1); -INSERT INTO `dataset` VALUES (13, 'mnist', '计算机视觉手写体识别mnist数据集', 1, 'admin', '2023-12-28 16:05:41', 'admin', '2023-12-28 16:05:41', 1); -INSERT INTO `dataset` VALUES (14, 'mnist', '计算机视觉手写体识别mnist数据集2-24', 1, 'admin', '2024-01-02 15:43:14', 'admin', '2024-01-02 15:44:02', 1); - --- ---------------------------- --- Table structure for dataset_version --- ---------------------------- -DROP TABLE IF EXISTS `dataset_version`; -CREATE TABLE `dataset_version` ( - `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键', - `dataset_id` int(4) NOT NULL, - `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '版本', - `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集存储地址', - `file_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名', - `file_size` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件大小', - `available_cluster` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '可用集群', - `status` int(4) NULL DEFAULT NULL COMMENT '状态', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT NULL COMMENT '0失效,1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of dataset_version --- ---------------------------- -INSERT INTO `dataset_version` VALUES (1, 12, '1.0', 'datasets/admin/mnist-20231228-160351/v1.0/comonent-register.json', 'gasdfas.csv', '1MB', NULL, NULL, NULL, NULL, NULL, NULL, 1); - --- ---------------------------- --- Table structure for experiment --- ---------------------------- -DROP TABLE IF EXISTS `experiment`; -CREATE TABLE `experiment` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实验名称', - `workflow_id` bigint(20) NULL DEFAULT NULL, - `global_param` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '全局参数', - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 344 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of experiment --- ---------------------------- -INSERT INTO `experiment` VALUES (321, NULL, 1, '{}', 'test', 'admin', '2023-11-06 16:34:48', 'admin', '2023-11-06 16:34:51', 0); -INSERT INTO `experiment` VALUES (322, NULL, 26, NULL, 'pytorch小模型训练实验做简单的测试', 'admin', '2023-11-15 15:27:33', 'admin', '2023-11-15 15:27:33', 0); -INSERT INTO `experiment` VALUES (323, NULL, 26, NULL, 'pytorch小模型训练实验做简单的测试', 'admin', '2023-11-15 16:26:03', 'admin', '2023-11-15 16:26:03', 0); -INSERT INTO `experiment` VALUES (324, NULL, 26, NULL, 'pytorch大模型训练实验做简单的测试', 'admin', '2023-11-16 10:17:59', 'admin', '2023-11-16 10:17:59', 0); -INSERT INTO `experiment` VALUES (325, NULL, 26, NULL, 'pytorch大模型训练实验做简单的测试', 'admin', '2023-11-16 10:18:49', 'admin', '2023-11-16 10:18:49', 0); -INSERT INTO `experiment` VALUES (326, NULL, 28, NULL, NULL, 'admin', '2023-11-17 09:52:05', 'admin', '2023-11-17 09:52:05', 0); -INSERT INTO `experiment` VALUES (327, NULL, 28, NULL, NULL, 'admin', '2023-11-17 09:53:38', 'admin', '2023-11-17 09:53:38', 0); -INSERT INTO `experiment` VALUES (328, NULL, 28, NULL, NULL, 'admin', '2023-11-17 14:09:11', 'admin', '2023-11-17 14:09:11', 0); -INSERT INTO `experiment` VALUES (329, 'tensorflow小模型训练实验做简单的测试', 28, NULL, NULL, 'admin', '2023-11-20 09:20:11', 'admin', '2023-11-20 09:20:11', 0); -INSERT INTO `experiment` VALUES (330, 'tensorflow小模型训练实验做简单的测试', 28, NULL, NULL, 'admin', '2023-11-17 14:13:43', 'admin', '2023-11-17 14:13:43', 0); -INSERT INTO `experiment` VALUES (331, 'tensorlfow大模型训练实验', 28, NULL, NULL, 'admin', '2023-11-17 14:14:33', 'admin', '2023-11-17 14:14:33', 0); -INSERT INTO `experiment` VALUES (332, NULL, 32, NULL, NULL, 'admin', '2023-11-18 15:56:31', 'admin', '2023-11-18 15:56:31', 0); -INSERT INTO `experiment` VALUES (333, 'pytorch手写体识别训练', NULL, NULL, 'pytorch手写体识别训练,参数非常少', 'admin', '2023-11-20 09:28:32', 'admin', '2023-11-20 09:28:32', 0); -INSERT INTO `experiment` VALUES (334, 'pytorch手写体识别训练-batchsize128', NULL, NULL, 'batchsize128', 'admin', '2023-11-20 09:36:03', 'admin', '2023-11-20 09:36:03', 0); -INSERT INTO `experiment` VALUES (335, 'pytorch手写体识别训练-batchsize128', NULL, NULL, 'batchsize128', 'admin', '2023-11-20 09:39:38', 'admin', '2023-11-20 09:39:38', 0); -INSERT INTO `experiment` VALUES (336, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 09:40:45', 'admin', '2023-11-20 09:40:45', 0); -INSERT INTO `experiment` VALUES (337, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 09:57:30', 'admin', '2023-11-20 09:57:30', 0); -INSERT INTO `experiment` VALUES (338, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:09:23', 'admin', '2023-11-20 10:09:23', 0); -INSERT INTO `experiment` VALUES (339, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:17:53', 'admin', '2023-11-20 10:17:53', 0); -INSERT INTO `experiment` VALUES (340, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:22:50', 'admin', '2023-11-20 10:22:50', 0); -INSERT INTO `experiment` VALUES (341, 'pytorch手写体识别训练-batchsize128', 34, NULL, 'batchsize128', 'admin', '2023-11-20 10:28:37', 'admin', '2023-11-20 10:28:37', 1); -INSERT INTO `experiment` VALUES (342, 'mindspore大模型训练实验-batcsize256', 35, NULL, 'batcsize256', 'admin', '2023-11-20 10:32:39', 'admin', '2023-11-20 10:32:39', 1); -INSERT INTO `experiment` VALUES (343, '组件库方式tensorflow手写体识别训练-batchsize256', 40, NULL, 'batchsize256', 'admin', '2023-12-21 14:28:49', 'admin', '2023-12-21 14:28:49', 1); - --- ---------------------------- --- Table structure for experiment_ins --- ---------------------------- -DROP TABLE IF EXISTS `experiment_ins`; -CREATE TABLE `experiment_ins` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `experiment_id` int(11) NULL DEFAULT NULL COMMENT '实验ID', - `argo_ins_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'argo返回name', - `argo_ins_ns` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'argo返回命名空间', - `status` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实例运行状态', - `nodes_status` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '节点状态', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of experiment_ins --- ---------------------------- -INSERT INTO `experiment_ins` VALUES (1, 321, 'workflow-cgtld', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `experiment_ins` VALUES (2, 321, 'workflow-hwb7n', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `experiment_ins` VALUES (3, 321, 'workflow-ttshq', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `experiment_ins` VALUES (4, 321, 'workflow-vws9k', 'argo', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `experiment_ins` VALUES (6, 323, 'workflow-lrb2s', 'argo', 'Succeeded', NULL, 'admin', '2023-11-15 16:44:39', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (7, 323, 'workflow-25qkl', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 09:11:17', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (8, 323, 'workflow-bjqrm', 'argo', 'Failed', NULL, 'admin', '2023-11-16 09:27:29', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (9, 323, 'workflow-hs4mq', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 09:43:17', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (10, 321, 'workflow-zsprx', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 10:11:29', 'admin', '2023-11-17 09:26:09', 0); -INSERT INTO `experiment_ins` VALUES (11, 322, 'workflow-bwxvs', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 10:12:59', 'admin', '2023-11-16 15:21:16', 0); -INSERT INTO `experiment_ins` VALUES (12, 322, 'workflow-jmk7l', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 10:13:31', 'admin', '2023-11-16 16:14:07', 1); -INSERT INTO `experiment_ins` VALUES (13, 321, 'workflow-jsbmn', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 10:13:47', 'admin', '2023-11-17 13:40:32', 0); -INSERT INTO `experiment_ins` VALUES (14, 325, 'workflow-7zdpd', 'argo', 'Succeeded', NULL, 'admin', '2023-11-16 10:18:50', 'admin', '2023-11-17 09:26:10', 0); -INSERT INTO `experiment_ins` VALUES (15, 327, 'workflow-9gf62', 'argo', 'Failed', NULL, 'admin', '2023-11-17 09:53:39', 'admin', '2023-11-17 14:22:32', 0); -INSERT INTO `experiment_ins` VALUES (16, 331, 'workflow-dcchw', 'argo', 'Running', NULL, 'admin', '2023-11-17 14:14:34', 'admin', '2023-11-17 14:16:48', 0); -INSERT INTO `experiment_ins` VALUES (17, 331, 'workflow-64qv8', 'argo', 'Succeeded', NULL, 'admin', '2023-11-17 14:15:33', 'admin', '2023-11-17 14:22:32', 0); -INSERT INTO `experiment_ins` VALUES (18, 336, 'workflow-kknnq', 'argo', 'Running', NULL, 'admin', '2023-11-20 09:41:28', 'admin', '2023-11-20 09:51:20', 0); -INSERT INTO `experiment_ins` VALUES (19, 337, 'workflow-spwqx', 'argo', 'Succeeded', NULL, 'admin', '2023-11-20 09:57:43', 'admin', '2023-11-20 10:08:52', 0); -INSERT INTO `experiment_ins` VALUES (20, 338, 'workflow-rpvmj', 'argo', 'Running', NULL, 'admin', '2023-11-20 10:09:39', 'admin', '2023-11-20 10:14:45', 0); -INSERT INTO `experiment_ins` VALUES (21, 339, 'workflow-vqxwn', 'argo', 'Running', NULL, 'admin', '2023-11-20 10:18:02', 'admin', '2023-11-20 10:18:17', 0); -INSERT INTO `experiment_ins` VALUES (22, 340, 'workflow-p4m58', 'argo', 'Running', NULL, 'admin', '2023-11-20 10:23:13', 'admin', '2023-11-20 10:23:26', 1); -INSERT INTO `experiment_ins` VALUES (23, 341, 'workflow-ffd7k', 'argo', 'Terminated', NULL, 'admin', '2023-11-20 10:28:47', 'admin', '2023-11-20 10:28:57', 1); -INSERT INTO `experiment_ins` VALUES (24, 341, 'workflow-psd6l', 'argo', 'Terminated', NULL, 'admin', '2023-11-20 10:29:39', 'admin', '2023-11-20 10:29:52', 1); -INSERT INTO `experiment_ins` VALUES (25, 342, 'workflow-h2nww', 'argo', 'Terminated', NULL, 'admin', '2023-11-20 10:32:40', 'admin', '2023-11-20 10:32:50', 1); -INSERT INTO `experiment_ins` VALUES (27, 343, 'workflow-9xp9x', 'argo', 'Failed', NULL, 'admin', '2023-12-21 14:31:27', 'admin', '2023-12-21 14:35:39', 1); -INSERT INTO `experiment_ins` VALUES (28, 343, 'workflow-kf77h', 'argo', 'Failed', NULL, 'admin', '2023-12-21 14:37:21', 'admin', '2023-12-21 14:58:43', 1); -INSERT INTO `experiment_ins` VALUES (29, 343, 'workflow-9gb7r', 'argo', 'Running', NULL, 'admin', '2023-12-21 14:59:34', 'admin', '2023-12-21 15:00:10', 1); -INSERT INTO `experiment_ins` VALUES (30, 343, 'workflow-n8ffg', 'argo', 'Failed', NULL, 'admin', '2023-12-21 15:31:56', 'admin', '2023-12-21 15:46:49', 1); -INSERT INTO `experiment_ins` VALUES (31, 343, 'workflow-8tclj', 'argo', 'Failed', NULL, 'admin', '2023-12-21 15:49:08', '苏影城', '2023-12-21 15:56:57', 1); -INSERT INTO `experiment_ins` VALUES (32, 343, 'workflow-ng98b', 'argo', 'Failed', '{\"workflow-ng98b\":{\"id\":\"workflow-ng98b\",\"name\":\"workflow-ng98b\",\"displayName\":\"workflow-ng98b\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-ng98b\",\"phase\":\"Running\",\"startedAt\":\"2023-12-21T07:58:55Z\",\"finishedAt\":null,\"progress\":\"1/2\",\"children\":[\"workflow-ng98b-904177022\"]},\"workflow-ng98b-763759812\":{\"id\":\"workflow-ng98b-763759812\",\"name\":\"workflow-ng98b.train-091bb1e\",\"displayName\":\"train-091bb1e\",\"type\":\"Pod\",\"templateName\":\"train-091bb1e\",\"templateScope\":\"local/workflow-ng98b\",\"phase\":\"Running\",\"boundaryID\":\"workflow-ng98b\",\"startedAt\":\"2023-12-21T08:00:05Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-node-01\"},\"workflow-ng98b-904177022\":{\"id\":\"workflow-ng98b-904177022\",\"name\":\"workflow-ng98b.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-ng98b\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-ng98b\",\"startedAt\":\"2023-12-21T07:58:55Z\",\"finishedAt\":\"2023-12-21T07:59:55Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":108,\"memory\":1119},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-ng98b/workflow-ng98b-git-clone-010ee3-904177022/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-ng98b-763759812\"],\"hostNodeName\":\"k8s-master-01\"}}', '苏影城', '2023-12-21 15:58:53', '苏影城', '2023-12-21 16:22:40', 1); -INSERT INTO `experiment_ins` VALUES (33, 343, 'workflow-cf7zb', 'argo', 'Running', '{\"workflow-cf7zb\":{\"id\":\"workflow-cf7zb\",\"name\":\"workflow-cf7zb\",\"displayName\":\"workflow-cf7zb\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-cf7zb\",\"phase\":\"Running\",\"startedAt\":\"2023-12-21T08:26:43Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-cf7zb-965299672\"]},\"workflow-cf7zb-965299672\":{\"id\":\"workflow-cf7zb-965299672\",\"name\":\"workflow-cf7zb.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-cf7zb\",\"phase\":\"Running\",\"boundaryID\":\"workflow-cf7zb\",\"startedAt\":\"2023-12-21T08:26:43Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"}}', '苏影城', '2023-12-21 16:26:41', '苏影城', '2023-12-21 16:26:52', 1); -INSERT INTO `experiment_ins` VALUES (34, 343, 'workflow-99gxn', 'argo', 'Failed', '{\"workflow-99gxn\":{\"id\":\"workflow-99gxn\",\"name\":\"workflow-99gxn\",\"displayName\":\"workflow-99gxn\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-99gxn\",\"phase\":\"Running\",\"startedAt\":\"2023-12-22T01:06:42Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-99gxn-1702733061\"]},\"workflow-99gxn-1702733061\":{\"id\":\"workflow-99gxn-1702733061\",\"name\":\"workflow-99gxn.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-99gxn\",\"phase\":\"Running\",\"boundaryID\":\"workflow-99gxn\",\"startedAt\":\"2023-12-22T01:06:42Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"}}', 'admin', '2023-12-22 09:06:42', 'admin', '2023-12-22 09:16:38', 1); -INSERT INTO `experiment_ins` VALUES (35, 343, 'workflow-vkjff', 'argo', 'Failed', '{\"workflow-vkjff\":{\"id\":\"workflow-vkjff\",\"name\":\"workflow-vkjff\",\"displayName\":\"workflow-vkjff\",\"type\":\"DAG\",\"templateName\":\"ml-workflow\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Running\",\"startedAt\":\"2023-12-25T06:25:52Z\",\"finishedAt\":null,\"progress\":\"1/2\",\"children\":[\"workflow-vkjff-4159113811\"]},\"workflow-vkjff-1017537614\":{\"id\":\"workflow-vkjff-1017537614\",\"name\":\"workflow-vkjff.train-091bb1e(0)\",\"displayName\":\"train-091bb1e(0)\",\"type\":\"Pod\",\"templateName\":\"train-091bb1e\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:27:05Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"hostNodeName\":\"k8s-master-01\"},\"workflow-vkjff-2814105347\":{\"id\":\"workflow-vkjff-2814105347\",\"name\":\"workflow-vkjff.train-091bb1e\",\"displayName\":\"train-091bb1e\",\"type\":\"Retry\",\"templateName\":\"train-091bb1e\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Running\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:27:05Z\",\"finishedAt\":null,\"progress\":\"0/1\",\"children\":[\"workflow-vkjff-1017537614\"]},\"workflow-vkjff-4159113811\":{\"id\":\"workflow-vkjff-4159113811\",\"name\":\"workflow-vkjff.git-clone-010ee3\",\"displayName\":\"git-clone-010ee3\",\"type\":\"Retry\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:25:52Z\",\"finishedAt\":\"2023-12-25T06:27:05Z\",\"progress\":\"1/2\",\"resourcesDuration\":{\"cpu\":116,\"memory\":1183},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vkjff/workflow-vkjff-git-clone-010ee3-677292510/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vkjff-677292510\"]},\"workflow-vkjff-677292510\":{\"id\":\"workflow-vkjff-677292510\",\"name\":\"workflow-vkjff.git-clone-010ee3(0)\",\"displayName\":\"git-clone-010ee3(0)\",\"type\":\"Pod\",\"templateName\":\"git-clone-010ee3\",\"templateScope\":\"local/workflow-vkjff\",\"phase\":\"Succeeded\",\"boundaryID\":\"workflow-vkjff\",\"startedAt\":\"2023-12-25T06:25:52Z\",\"finishedAt\":\"2023-12-25T06:26:55Z\",\"progress\":\"1/1\",\"resourcesDuration\":{\"cpu\":116,\"memory\":1183},\"outputs\":{\"artifacts\":[{\"name\":\"main-logs\",\"s3\":{\"key\":\"workflow-vkjff/workflow-vkjff-git-clone-010ee3-677292510/main.log\"}}],\"exitCode\":\"0\"},\"children\":[\"workflow-vkjff-2814105347\"],\"hostNodeName\":\"k8s-master-01\"}}', '苏影城', '2023-12-25 14:25:52', '苏影城', '2023-12-25 14:31:39', 0); - --- ---------------------------- --- Table structure for gen_table --- ---------------------------- -DROP TABLE IF EXISTS `gen_table`; -CREATE TABLE `gen_table` ( - `table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `table_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '表名称', - `table_comment` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '表描述', - `sub_table_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联子表的表名', - `sub_table_fk_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '子表关联的外键名', - `class_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '实体类名称', - `tpl_category` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', - `tpl_web_type` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '前端模板类型(element-ui模版 element-plus模版)', - `package_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成包路径', - `module_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成模块名', - `business_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成业务名', - `function_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成功能名', - `function_author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成功能作者', - `gen_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', - `gen_path` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', - `options` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '其它生成选项', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`table_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of gen_table --- ---------------------------- - --- ---------------------------- --- Table structure for gen_table_column --- ---------------------------- -DROP TABLE IF EXISTS `gen_table_column`; -CREATE TABLE `gen_table_column` ( - `column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `table_id` bigint(20) NULL DEFAULT NULL COMMENT '归属表编号', - `column_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '列名称', - `column_comment` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '列描述', - `column_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '列类型', - `java_type` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'JAVA类型', - `java_field` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'JAVA字段名', - `is_pk` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否主键(1是)', - `is_increment` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否自增(1是)', - `is_required` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否必填(1是)', - `is_insert` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否为插入字段(1是)', - `is_edit` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否编辑字段(1是)', - `is_list` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否列表字段(1是)', - `is_query` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否查询字段(1是)', - `query_type` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', - `html_type` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', - `dict_type` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型', - `sort` int(11) NULL DEFAULT NULL COMMENT '排序', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`column_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of gen_table_column --- ---------------------------- - --- ---------------------------- --- Table structure for models --- ---------------------------- -DROP TABLE IF EXISTS `models`; -CREATE TABLE `models` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `model_type` int(11) NULL DEFAULT NULL, - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `state` int(4) NULL DEFAULT 1 COMMENT '0,失效 1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of models --- ---------------------------- -INSERT INTO `models` VALUES (1, 'start_workflow.json', NULL, NULL, 'models/苏影城/start_workflow.json', NULL, '苏影城', '2023-12-26 16:10:39', '苏影城', '2023-12-26 16:10:39', 0); -INSERT INTO `models` VALUES (2, 'package-lock.json', 'v2.0', '计算机视觉手写体识别mnist数据集 二次修改', 'models/苏影城/package-lock.json-20231227-135255/workspace.postman_globals.json', NULL, '苏影城', '2023-12-28 13:58:49', 'admin', '2023-12-28 13:58:49', 1); -INSERT INTO `models` VALUES (3, 'mnist', 'v1.0', '计算机视觉手写体识别模型修改版', NULL, 1, 'admin', '2023-12-28 14:16:34', 'admin', '2023-12-28 14:16:34', 1); -INSERT INTO `models` VALUES (4, 'mnist', 'v1.0', '计算机视觉手写体识别模型修改版', 'models/admin/mnist-20231228-141659/zh_ar_raw_2400.zip', 1, 'admin', '2023-12-28 14:16:59', 'admin', '2023-12-28 14:29:33', 0); -INSERT INTO `models` VALUES (5, 'mnist', 'v1.0', '计算机视觉手写体识模型', 'models/admin/mnist-20231228-150912/v1.0/ssd_80C_500E.ckpt', 1, 'admin', '2023-12-28 15:09:12', 'admin', '2024-01-02 15:47:12', 1); -INSERT INTO `models` VALUES (6, 'mnist', 'v1.0', '计算机视觉手写体识模型2-24', NULL, 1, 'admin', '2024-01-02 15:46:25', 'admin', '2024-01-02 15:46:25', 1); - --- ---------------------------- --- Table structure for models_version --- ---------------------------- -DROP TABLE IF EXISTS `models_version`; -CREATE TABLE `models_version` ( - `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键', - `models_id` int(4) NOT NULL, - `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '版本', - `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模型存储地址', - `file_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名', - `file_size` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件大小', - `status` int(4) NULL DEFAULT NULL COMMENT '状态', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` int(4) NULL DEFAULT NULL COMMENT '0失效,1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of models_version --- ---------------------------- - --- ---------------------------- --- Table structure for sys_config --- ---------------------------- -DROP TABLE IF EXISTS `sys_config`; -CREATE TABLE `sys_config` ( - `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键', - `config_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '参数名称', - `config_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '参数键名', - `config_value` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '参数键值', - `config_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`config_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_config --- ---------------------------- -INSERT INTO `sys_config` VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2024-01-04 10:59:56', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); -INSERT INTO `sys_config` VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2024-01-04 10:59:56', '', NULL, '初始化密码 123456'); -INSERT INTO `sys_config` VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2024-01-04 10:59:56', '', NULL, '深色主题theme-dark,浅色主题theme-light'); -INSERT INTO `sys_config` VALUES (4, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2024-01-04 10:59:56', '', NULL, '是否开启注册用户功能(true开启,false关闭)'); -INSERT INTO `sys_config` VALUES (5, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2024-01-04 10:59:56', '', NULL, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); - --- ---------------------------- --- Table structure for sys_dept --- ---------------------------- -DROP TABLE IF EXISTS `sys_dept`; -CREATE TABLE `sys_dept` ( - `dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id', - `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父部门id', - `ancestors` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '祖级列表', - `dept_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '部门名称', - `order_num` int(4) NULL DEFAULT 0 COMMENT '显示顺序', - `leader` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '负责人', - `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系电话', - `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`dept_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 200 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_dept --- ---------------------------- -INSERT INTO `sys_dept` VALUES (100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); -INSERT INTO `sys_dept` VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL); - --- ---------------------------- --- Table structure for sys_dict_data --- ---------------------------- -DROP TABLE IF EXISTS `sys_dict_data`; -CREATE TABLE `sys_dict_data` ( - `dict_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码', - `dict_sort` int(4) NULL DEFAULT 0 COMMENT '字典排序', - `dict_label` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典标签', - `dict_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典键值', - `dict_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型', - `css_class` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)', - `list_class` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表格回显样式', - `is_default` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`dict_code`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_dict_data --- ---------------------------- -INSERT INTO `sys_dict_data` VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '性别男'); -INSERT INTO `sys_dict_data` VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '性别女'); -INSERT INTO `sys_dict_data` VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '性别未知'); -INSERT INTO `sys_dict_data` VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '显示菜单'); -INSERT INTO `sys_dict_data` VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '隐藏菜单'); -INSERT INTO `sys_dict_data` VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '正常状态'); -INSERT INTO `sys_dict_data` VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '停用状态'); -INSERT INTO `sys_dict_data` VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '正常状态'); -INSERT INTO `sys_dict_data` VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '停用状态'); -INSERT INTO `sys_dict_data` VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '默认分组'); -INSERT INTO `sys_dict_data` VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '系统分组'); -INSERT INTO `sys_dict_data` VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '系统默认是'); -INSERT INTO `sys_dict_data` VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '系统默认否'); -INSERT INTO `sys_dict_data` VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '通知'); -INSERT INTO `sys_dict_data` VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '公告'); -INSERT INTO `sys_dict_data` VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '正常状态'); -INSERT INTO `sys_dict_data` VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '关闭状态'); -INSERT INTO `sys_dict_data` VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '其他操作'); -INSERT INTO `sys_dict_data` VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '新增操作'); -INSERT INTO `sys_dict_data` VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '修改操作'); -INSERT INTO `sys_dict_data` VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '删除操作'); -INSERT INTO `sys_dict_data` VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '授权操作'); -INSERT INTO `sys_dict_data` VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '导出操作'); -INSERT INTO `sys_dict_data` VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '导入操作'); -INSERT INTO `sys_dict_data` VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '强退操作'); -INSERT INTO `sys_dict_data` VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '生成操作'); -INSERT INTO `sys_dict_data` VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '清空操作'); -INSERT INTO `sys_dict_data` VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '正常状态'); -INSERT INTO `sys_dict_data` VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '停用状态'); - --- ---------------------------- --- Table structure for sys_dict_type --- ---------------------------- -DROP TABLE IF EXISTS `sys_dict_type`; -CREATE TABLE `sys_dict_type` ( - `dict_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典主键', - `dict_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典名称', - `dict_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`dict_id`) USING BTREE, - UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_dict_type --- ---------------------------- -INSERT INTO `sys_dict_type` VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '用户性别列表'); -INSERT INTO `sys_dict_type` VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '菜单状态列表'); -INSERT INTO `sys_dict_type` VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '系统开关列表'); -INSERT INTO `sys_dict_type` VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '任务状态列表'); -INSERT INTO `sys_dict_type` VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '任务分组列表'); -INSERT INTO `sys_dict_type` VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '系统是否列表'); -INSERT INTO `sys_dict_type` VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '通知类型列表'); -INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '通知状态列表'); -INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '操作类型列表'); -INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '登录状态列表'); - --- ---------------------------- --- Table structure for sys_job --- ---------------------------- -DROP TABLE IF EXISTS `sys_job`; -CREATE TABLE `sys_job` ( - `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID', - `job_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '任务名称', - `job_group` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', - `invoke_target` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '调用目标字符串', - `cron_expression` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT 'cron执行表达式', - `misfire_policy` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', - `concurrent` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1暂停)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注信息', - PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_job --- ---------------------------- -INSERT INTO `sys_job` VALUES (1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_job` VALUES (2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_job` VALUES (3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2024-01-04 10:59:56', '', NULL, ''); - --- ---------------------------- --- Table structure for sys_job_log --- ---------------------------- -DROP TABLE IF EXISTS `sys_job_log`; -CREATE TABLE `sys_job_log` ( - `job_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', - `job_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '任务名称', - `job_group` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '任务组名', - `invoke_target` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '调用目标字符串', - `job_message` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '日志信息', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '执行状态(0正常 1失败)', - `exception_info` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '异常信息', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`job_log_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_job_log --- ---------------------------- - --- ---------------------------- --- Table structure for sys_logininfor --- ---------------------------- -DROP TABLE IF EXISTS `sys_logininfor`; -CREATE TABLE `sys_logininfor` ( - `info_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '访问ID', - `user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户账号', - `ipaddr` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '登录IP地址', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '登录状态(0成功 1失败)', - `msg` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '提示信息', - `access_time` datetime NULL DEFAULT NULL COMMENT '访问时间', - PRIMARY KEY (`info_id`) USING BTREE, - INDEX `idx_sys_logininfor_s`(`status`) USING BTREE, - INDEX `idx_sys_logininfor_lt`(`access_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_logininfor --- ---------------------------- - --- ---------------------------- --- Table structure for sys_menu --- ---------------------------- -DROP TABLE IF EXISTS `sys_menu`; -CREATE TABLE `sys_menu` ( - `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', - `menu_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '菜单名称', - `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父菜单ID', - `order_num` int(4) NULL DEFAULT 0 COMMENT '显示顺序', - `path` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '路由地址', - `component` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件路径', - `query` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路由参数', - `is_frame` int(1) NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)', - `is_cache` int(1) NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)', - `menu_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', - `visible` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', - `perms` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限标识', - `icon` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '#' COMMENT '菜单图标', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注', - PRIMARY KEY (`menu_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2001 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_menu --- ---------------------------- -INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:29:22', '系统管理目录'); -INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', 1, 0, 'M', '1', '0', '', 'monitor', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:14:19', '系统监控目录'); -INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', 1, 0, 'M', '1', '0', '', 'tool', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:14:13', '系统工具目录'); -INSERT INTO `sys_menu` VALUES (4, '若依官网', 0, 4, 'http://ruoyi.vip', NULL, '', 0, 0, 'M', '1', '0', '', 'guide', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:14:08', '若依官网地址'); -INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2024-01-04 10:59:56', '', NULL, '用户管理菜单'); -INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2024-01-04 10:59:56', '', NULL, '角色管理菜单'); -INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2024-01-04 10:59:56', '', NULL, '菜单管理菜单'); -INSERT INTO `sys_menu` VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2024-01-04 10:59:56', '', NULL, '部门管理菜单'); -INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2024-01-04 10:59:56', '', NULL, '岗位管理菜单'); -INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2024-01-04 10:59:56', '', NULL, '字典管理菜单'); -INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '1', '0', 'system:config:list', 'edit', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:28:29', '参数设置菜单'); -INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '1', '0', 'system:notice:list', 'message', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:28:24', '通知公告菜单'); -INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '1', '0', '', 'log', 'admin', '2024-01-04 10:59:56', 'admin', '2024-01-04 15:28:19', '日志管理菜单'); -INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2024-01-04 10:59:56', '', NULL, '在线用户菜单'); -INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2024-01-04 10:59:56', '', NULL, '定时任务菜单'); -INSERT INTO `sys_menu` VALUES (111, 'Sentinel控制台', 2, 3, 'http://localhost:8718', '', '', 0, 0, 'C', '0', '0', 'monitor:sentinel:list', 'sentinel', 'admin', '2024-01-04 10:59:56', '', NULL, '流量控制菜单'); -INSERT INTO `sys_menu` VALUES (112, 'Nacos控制台', 2, 4, 'http://localhost:8848/nacos', '', '', 0, 0, 'C', '0', '0', 'monitor:nacos:list', 'nacos', 'admin', '2024-01-04 10:59:56', '', NULL, '服务治理菜单'); -INSERT INTO `sys_menu` VALUES (113, 'Admin控制台', 2, 5, 'http://localhost:9100/login', '', '', 0, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2024-01-04 10:59:56', '', NULL, '服务监控菜单'); -INSERT INTO `sys_menu` VALUES (114, '表单构建', 3, 1, 'build', 'tool/build/index', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2024-01-04 10:59:56', '', NULL, '表单构建菜单'); -INSERT INTO `sys_menu` VALUES (115, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2024-01-04 10:59:56', '', NULL, '代码生成菜单'); -INSERT INTO `sys_menu` VALUES (116, '系统接口', 3, 3, 'http://localhost:8080/swagger-ui/index.html', '', '', 0, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2024-01-04 10:59:56', '', NULL, '系统接口菜单'); -INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, 'operlog', 'system/operlog/index', '', 1, 0, 'C', '0', '0', 'system:operlog:list', 'form', 'admin', '2024-01-04 10:59:56', '', NULL, '操作日志菜单'); -INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, 'logininfor', 'system/logininfor/index', '', 1, 0, 'C', '0', '0', 'system:logininfor:list', 'logininfor', 'admin', '2024-01-04 10:59:56', '', NULL, '登录日志菜单'); -INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1016, '部门查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1017, '部门新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1018, '部门修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1019, '部门删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1020, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1021, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1022, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1023, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1024, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1041, '日志导出', 500, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1042, '登录查询', 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1043, '登录删除', 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1044, '日志导出', 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1045, '账户解锁', 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:unlock', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1054, '任务导出', 110, 6, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1055, '生成查询', 115, 1, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1056, '生成修改', 115, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1057, '生成删除', 115, 3, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1058, '导入代码', 115, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1059, '预览代码', 115, 4, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (1060, '生成代码', 115, 5, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_menu` VALUES (2000, '流水线', 0, 3, 'pipeline', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '#', 'admin', '2024-01-04 11:06:40', '', NULL, ''); - --- ---------------------------- --- Table structure for sys_notice --- ---------------------------- -DROP TABLE IF EXISTS `sys_notice`; -CREATE TABLE `sys_notice` ( - `notice_id` int(4) NOT NULL AUTO_INCREMENT COMMENT '公告ID', - `notice_title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '公告标题', - `notice_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '公告类型(1通知 2公告)', - `notice_content` longblob NULL COMMENT '公告内容', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`notice_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_notice --- ---------------------------- -INSERT INTO `sys_notice` VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2024-01-04 10:59:56', '', NULL, '管理员'); -INSERT INTO `sys_notice` VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2024-01-04 10:59:56', '', NULL, '管理员'); - --- ---------------------------- --- Table structure for sys_oper_log --- ---------------------------- -DROP TABLE IF EXISTS `sys_oper_log`; -CREATE TABLE `sys_oper_log` ( - `oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志主键', - `title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '模块标题', - `business_type` int(2) NULL DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', - `method` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '方法名称', - `request_method` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求方式', - `operator_type` int(1) NULL DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', - `oper_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '操作人员', - `dept_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '部门名称', - `oper_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求URL', - `oper_ip` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '主机地址', - `oper_location` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '操作地点', - `oper_param` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求参数', - `json_result` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '返回参数', - `status` int(1) NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)', - `error_msg` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '错误消息', - `oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间', - `cost_time` bigint(20) NULL DEFAULT 0 COMMENT '消耗时间', - PRIMARY KEY (`oper_id`) USING BTREE, - INDEX `idx_sys_oper_log_bt`(`business_type`) USING BTREE, - INDEX `idx_sys_oper_log_s`(`status`) USING BTREE, - INDEX `idx_sys_oper_log_ot`(`oper_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 111 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_oper_log --- ---------------------------- -INSERT INTO `sys_oper_log` VALUES (100, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":1,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 11:00:55', 2); -INSERT INTO `sys_oper_log` VALUES (101, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":2,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 11:02:56', 3); -INSERT INTO `sys_oper_log` VALUES (102, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":3,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 11:03:07', 2); -INSERT INTO `sys_oper_log` VALUES (103, '菜单管理', 1, 'com.ruoyi.system.controller.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"createBy\":\"admin\",\"menuName\":\"流水线\",\"menuType\":\"M\",\"orderNum\":3,\"params\":{},\"parentId\":0,\"path\":\"pipeline\",\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 11:06:40', 3); -INSERT INTO `sys_oper_log` VALUES (104, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"guide\",\"isCache\":\"0\",\"isFrame\":\"0\",\"menuId\":4,\"menuName\":\"若依官网\",\"menuType\":\"M\",\"orderNum\":4,\"params\":{},\"parentId\":0,\"path\":\"http://ruoyi.vip\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:14:08', 4); -INSERT INTO `sys_oper_log` VALUES (105, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"tool\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":3,\"menuName\":\"系统工具\",\"menuType\":\"M\",\"orderNum\":3,\"params\":{},\"parentId\":0,\"path\":\"tool\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:14:13', 2); -INSERT INTO `sys_oper_log` VALUES (106, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"monitor\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2,\"menuName\":\"系统监控\",\"menuType\":\"M\",\"orderNum\":2,\"params\":{},\"parentId\":0,\"path\":\"monitor\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:14:19', 2); -INSERT INTO `sys_oper_log` VALUES (107, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"component\":\"\",\"icon\":\"log\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":108,\"menuName\":\"日志管理\",\"menuType\":\"M\",\"orderNum\":9,\"params\":{},\"parentId\":1,\"path\":\"log\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:28:19', 2); -INSERT INTO `sys_oper_log` VALUES (108, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"component\":\"system/notice/index\",\"icon\":\"message\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":107,\"menuName\":\"通知公告\",\"menuType\":\"C\",\"orderNum\":8,\"params\":{},\"parentId\":1,\"path\":\"notice\",\"perms\":\"system:notice:list\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:28:24', 2); -INSERT INTO `sys_oper_log` VALUES (109, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"component\":\"system/config/index\",\"icon\":\"edit\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":106,\"menuName\":\"参数设置\",\"menuType\":\"C\",\"orderNum\":7,\"params\":{},\"parentId\":1,\"path\":\"config\",\"perms\":\"system:config:list\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:28:29', 2); -INSERT INTO `sys_oper_log` VALUES (110, '菜单管理', 2, 'com.ruoyi.system.controller.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/menu', '172.20.32.53', '', '{\"children\":[],\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":1,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2024-01-04 15:29:22', 2); - --- ---------------------------- --- Table structure for sys_post --- ---------------------------- -DROP TABLE IF EXISTS `sys_post`; -CREATE TABLE `sys_post` ( - `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', - `post_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '岗位编码', - `post_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '岗位名称', - `post_sort` int(4) NOT NULL COMMENT '显示顺序', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '状态(0正常 1停用)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`post_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_post --- ---------------------------- -INSERT INTO `sys_post` VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_post` VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_post` VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2024-01-04 10:59:56', '', NULL, ''); -INSERT INTO `sys_post` VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2024-01-04 10:59:56', '', NULL, ''); - --- ---------------------------- --- Table structure for sys_role --- ---------------------------- -DROP TABLE IF EXISTS `sys_role`; -CREATE TABLE `sys_role` ( - `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', - `role_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称', - `role_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色权限字符串', - `role_sort` int(4) NOT NULL COMMENT '显示顺序', - `data_scope` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', - `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示', - `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`role_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_role --- ---------------------------- -INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '超级管理员'); -INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '2', 1, 1, '0', '0', 'admin', '2024-01-04 10:59:56', '', NULL, '普通角色'); - --- ---------------------------- --- Table structure for sys_role_dept --- ---------------------------- -DROP TABLE IF EXISTS `sys_role_dept`; -CREATE TABLE `sys_role_dept` ( - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - `dept_id` bigint(20) NOT NULL COMMENT '部门ID', - PRIMARY KEY (`role_id`, `dept_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_role_dept --- ---------------------------- -INSERT INTO `sys_role_dept` VALUES (2, 100); -INSERT INTO `sys_role_dept` VALUES (2, 101); -INSERT INTO `sys_role_dept` VALUES (2, 105); - --- ---------------------------- --- Table structure for sys_role_menu --- ---------------------------- -DROP TABLE IF EXISTS `sys_role_menu`; -CREATE TABLE `sys_role_menu` ( - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', - PRIMARY KEY (`role_id`, `menu_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_role_menu --- ---------------------------- -INSERT INTO `sys_role_menu` VALUES (2, 1); -INSERT INTO `sys_role_menu` VALUES (2, 2); -INSERT INTO `sys_role_menu` VALUES (2, 3); -INSERT INTO `sys_role_menu` VALUES (2, 4); -INSERT INTO `sys_role_menu` VALUES (2, 100); -INSERT INTO `sys_role_menu` VALUES (2, 101); -INSERT INTO `sys_role_menu` VALUES (2, 102); -INSERT INTO `sys_role_menu` VALUES (2, 103); -INSERT INTO `sys_role_menu` VALUES (2, 104); -INSERT INTO `sys_role_menu` VALUES (2, 105); -INSERT INTO `sys_role_menu` VALUES (2, 106); -INSERT INTO `sys_role_menu` VALUES (2, 107); -INSERT INTO `sys_role_menu` VALUES (2, 108); -INSERT INTO `sys_role_menu` VALUES (2, 109); -INSERT INTO `sys_role_menu` VALUES (2, 110); -INSERT INTO `sys_role_menu` VALUES (2, 111); -INSERT INTO `sys_role_menu` VALUES (2, 112); -INSERT INTO `sys_role_menu` VALUES (2, 113); -INSERT INTO `sys_role_menu` VALUES (2, 114); -INSERT INTO `sys_role_menu` VALUES (2, 115); -INSERT INTO `sys_role_menu` VALUES (2, 116); -INSERT INTO `sys_role_menu` VALUES (2, 500); -INSERT INTO `sys_role_menu` VALUES (2, 501); -INSERT INTO `sys_role_menu` VALUES (2, 1000); -INSERT INTO `sys_role_menu` VALUES (2, 1001); -INSERT INTO `sys_role_menu` VALUES (2, 1002); -INSERT INTO `sys_role_menu` VALUES (2, 1003); -INSERT INTO `sys_role_menu` VALUES (2, 1004); -INSERT INTO `sys_role_menu` VALUES (2, 1005); -INSERT INTO `sys_role_menu` VALUES (2, 1006); -INSERT INTO `sys_role_menu` VALUES (2, 1007); -INSERT INTO `sys_role_menu` VALUES (2, 1008); -INSERT INTO `sys_role_menu` VALUES (2, 1009); -INSERT INTO `sys_role_menu` VALUES (2, 1010); -INSERT INTO `sys_role_menu` VALUES (2, 1011); -INSERT INTO `sys_role_menu` VALUES (2, 1012); -INSERT INTO `sys_role_menu` VALUES (2, 1013); -INSERT INTO `sys_role_menu` VALUES (2, 1014); -INSERT INTO `sys_role_menu` VALUES (2, 1015); -INSERT INTO `sys_role_menu` VALUES (2, 1016); -INSERT INTO `sys_role_menu` VALUES (2, 1017); -INSERT INTO `sys_role_menu` VALUES (2, 1018); -INSERT INTO `sys_role_menu` VALUES (2, 1019); -INSERT INTO `sys_role_menu` VALUES (2, 1020); -INSERT INTO `sys_role_menu` VALUES (2, 1021); -INSERT INTO `sys_role_menu` VALUES (2, 1022); -INSERT INTO `sys_role_menu` VALUES (2, 1023); -INSERT INTO `sys_role_menu` VALUES (2, 1024); -INSERT INTO `sys_role_menu` VALUES (2, 1025); -INSERT INTO `sys_role_menu` VALUES (2, 1026); -INSERT INTO `sys_role_menu` VALUES (2, 1027); -INSERT INTO `sys_role_menu` VALUES (2, 1028); -INSERT INTO `sys_role_menu` VALUES (2, 1029); -INSERT INTO `sys_role_menu` VALUES (2, 1030); -INSERT INTO `sys_role_menu` VALUES (2, 1031); -INSERT INTO `sys_role_menu` VALUES (2, 1032); -INSERT INTO `sys_role_menu` VALUES (2, 1033); -INSERT INTO `sys_role_menu` VALUES (2, 1034); -INSERT INTO `sys_role_menu` VALUES (2, 1035); -INSERT INTO `sys_role_menu` VALUES (2, 1036); -INSERT INTO `sys_role_menu` VALUES (2, 1037); -INSERT INTO `sys_role_menu` VALUES (2, 1038); -INSERT INTO `sys_role_menu` VALUES (2, 1039); -INSERT INTO `sys_role_menu` VALUES (2, 1040); -INSERT INTO `sys_role_menu` VALUES (2, 1041); -INSERT INTO `sys_role_menu` VALUES (2, 1042); -INSERT INTO `sys_role_menu` VALUES (2, 1043); -INSERT INTO `sys_role_menu` VALUES (2, 1044); -INSERT INTO `sys_role_menu` VALUES (2, 1045); -INSERT INTO `sys_role_menu` VALUES (2, 1046); -INSERT INTO `sys_role_menu` VALUES (2, 1047); -INSERT INTO `sys_role_menu` VALUES (2, 1048); -INSERT INTO `sys_role_menu` VALUES (2, 1049); -INSERT INTO `sys_role_menu` VALUES (2, 1050); -INSERT INTO `sys_role_menu` VALUES (2, 1051); -INSERT INTO `sys_role_menu` VALUES (2, 1052); -INSERT INTO `sys_role_menu` VALUES (2, 1053); -INSERT INTO `sys_role_menu` VALUES (2, 1054); -INSERT INTO `sys_role_menu` VALUES (2, 1055); -INSERT INTO `sys_role_menu` VALUES (2, 1056); -INSERT INTO `sys_role_menu` VALUES (2, 1057); -INSERT INTO `sys_role_menu` VALUES (2, 1058); -INSERT INTO `sys_role_menu` VALUES (2, 1059); -INSERT INTO `sys_role_menu` VALUES (2, 1060); - --- ---------------------------- --- Table structure for sys_user --- ---------------------------- -DROP TABLE IF EXISTS `sys_user`; -CREATE TABLE `sys_user` ( - `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', - `dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID', - `user_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户账号', - `nick_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户昵称', - `user_type` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '00' COMMENT '用户类型(00系统用户)', - `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户邮箱', - `phonenumber` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '手机号码', - `sex` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', - `avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '头像地址', - `password` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '密码', - `status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `login_ip` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '最后登录IP', - `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间', - `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`user_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_user --- ---------------------------- -INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2024-01-04 10:59:56', 'admin', '2024-01-04 10:59:56', '', NULL, '管理员'); -INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2024-01-04 10:59:56', 'admin', '2024-01-04 10:59:56', '', NULL, '测试员'); - --- ---------------------------- --- Table structure for sys_user_post --- ---------------------------- -DROP TABLE IF EXISTS `sys_user_post`; -CREATE TABLE `sys_user_post` ( - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `post_id` bigint(20) NOT NULL COMMENT '岗位ID', - PRIMARY KEY (`user_id`, `post_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_user_post --- ---------------------------- -INSERT INTO `sys_user_post` VALUES (1, 1); -INSERT INTO `sys_user_post` VALUES (2, 2); - --- ---------------------------- --- Table structure for sys_user_role --- ---------------------------- -DROP TABLE IF EXISTS `sys_user_role`; -CREATE TABLE `sys_user_role` ( - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`user_id`, `role_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of sys_user_role --- ---------------------------- -INSERT INTO `sys_user_role` VALUES (1, 1); -INSERT INTO `sys_user_role` VALUES (2, 2); - --- ---------------------------- --- Table structure for workflow --- ---------------------------- -DROP TABLE IF EXISTS `workflow`; -CREATE TABLE `workflow` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作流名称', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'DAG工作流描述', - `dag` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'DAG图', - `create_by` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `state` tinyint(10) NULL DEFAULT 1 COMMENT '0,失效 1生效', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DAG workflow' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of workflow --- ---------------------------- -INSERT INTO `workflow` VALUES (1, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', 'admin', '2023-10-31 10:19:58', 'admin', '2023-10-31 10:20:04', 0); -INSERT INTO `workflow` VALUES (2, 'xxx', 'TEST', '{}', NULL, NULL, NULL, NULL, 0); -INSERT INTO `workflow` VALUES (3, 'xxx', 'TEST', '{}', NULL, NULL, NULL, NULL, 0); -INSERT INTO `workflow` VALUES (20, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `workflow` VALUES (21, 'test', 'test pytorch', '{\r\n \"pens\": [\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"git-clone\",\r\n \"categoryId\": 2,\r\n \"categoryName\": \"代码clone组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"代码拉取\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"代码克隆\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"git-clone-010ee3\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\":[\r\n {\r\n \"key\": \"ssh_key\",\r\n \"name\": \"ssh私钥\",\r\n \"value\": \"fdasfasfadsfadsf\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"git_repo_addr\",\r\n \"name\": \"代码库地址\",\r\n \"value\": \"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"git_branch\",\r\n \"name\": \"代码库分支/tag\",\r\n \"value\": \"master\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"clone_depth\",\r\n \"name\": \"克隆深度\",\r\n \"value\": \"1\",\r\n \"type\": \"int\",\r\n \"require\": true,\r\n \"defaultValue\": \"1\"\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"code_path\",\r\n \"name\": \"代码路径\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/code\"\r\n }],\r\n \"id\": \"git-clone-010ee3\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"647b44d5\",\r\n \"lineAnchor\": \"2f966d31\",\r\n \"anchor\": \"1\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"train\",\r\n \"categoryId\": 3,\r\n \"categoryName\": \"训练组件\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"RUNNING_SET\",\r\n \"baseInfo\": {\r\n \"inParameters\":[\r\n {\r\n \"key\": \"task_name\",\r\n \"name\": \"任务名称\",\r\n \"value\": \"pytorch训练\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"task_unique_id\",\r\n \"name\": \"任务id\",\r\n \"value\": \"train-091bb1e\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }]\r\n },\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"train.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"somuns/pretrainmodel/mnist\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 1, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"model_path\",\r\n \"name\": \"模型输出路径\",\r\n \"value\": \"model_path\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/model\"\r\n }],\r\n \"id\": \"train-091bb1e\",\r\n \"connectedLines\": [{\r\n \"lineId\": \"7025d72a\",\r\n \"lineAnchor\": \"7982b5a4\",\r\n \"anchor\": \"2\"\r\n }]\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"inference\",\r\n \"categoryId\": 4,\r\n \"categoryName\": \"模型推理测试\",\r\n \"image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\r\n \"text\": \"Actor\",\r\n \"inParameters\": [\r\n {\r\n \"key\": \"compute_resource\",\r\n \"name\": \"计算资源\",\r\n \"value\": \"CPU/GPU\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"image_name\",\r\n \"name\": \"镜像名称\",\r\n \"value\": \"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"code_path\",\r\n \"name\": \"代码目录\",\r\n \"value\": \"{{git-clone-010ee3.code_path}}\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"start_file\",\r\n \"name\": \"启动文件\",\r\n \"value\": \"inference.py\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"model_name\",\r\n \"name\": \"模型名称\",\r\n \"value\": \"{{train-091bb1e.model_path}}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n },\r\n {\r\n \"key\": \"dataset_name\",\r\n \"name\": \"数据集名称\",\r\n \"value\": \"somuns/dataset/mnist\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"resource_request\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"GPU: 0, CPU: 2, 内存: 2GB\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n },\r\n {\r\n \"key\": \"run_params\",\r\n \"name\": \"资源规格\",\r\n \"value\": \"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\r\n \"type\": \"str\",\r\n \"require\": false\r\n }\r\n ],\r\n \"outParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true,\r\n \"mountPath\": \"/result\"\r\n }],\r\n \"id\": \"inference-37f712\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"647b44d5\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"git-clone-010ee3\",\r\n \"target\": \"train-091bb1e\"\r\n },\r\n {\r\n \"componentId\": 1,\r\n \"componentName\": \"workflow_line\",\r\n \"categoryId\": 1,\r\n \"categoryName\": \"线\",\r\n \"id\": \"7025d72a\",\r\n \"name\": \"line\",\r\n \"lineName\": \"curve\",\r\n \"type\": 1,\r\n \"source\": \"train-091bb1e\",\r\n \"target\": \"inference-37f712\"\r\n }],\r\n\r\n \"globalParameters\": [{\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\"\r\n },\r\n {\r\n \"key\": \"result\",\r\n \"name\": \"推理结果路径\",\r\n \"value\": \"\",\r\n \"type\": \"str\",\r\n \"require\": true\r\n }\r\n]\r\n}', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `workflow` VALUES (22, NULL, NULL, NULL, 'admin', '2023-11-15 14:06:32', 'admin', '2023-11-15 14:06:32', 0); -INSERT INTO `workflow` VALUES (23, NULL, NULL, NULL, 'admin', '2023-11-15 14:11:48', 'admin', '2023-11-15 14:11:48', 0); -INSERT INTO `workflow` VALUES (24, NULL, NULL, NULL, 'admin', '2023-11-15 14:20:51', 'admin', '2023-11-15 14:20:51', 0); -INSERT INTO `workflow` VALUES (25, NULL, NULL, NULL, 'admin', '2023-11-15 14:22:46', 'admin', '2023-11-15 14:22:46', 0); -INSERT INTO `workflow` VALUES (26, 'pytorch训练', 'pytorch 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-15 14:24:02', 'admin', '2023-11-15 16:25:44', 0); -INSERT INTO `workflow` VALUES (27, NULL, NULL, NULL, 'admin', '2023-11-15 14:25:17', 'admin', '2023-11-15 14:25:17', 0); -INSERT INTO `workflow` VALUES (28, 'tensorflow训练', 'tensorflow 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-15 14:27:35', 'admin', '2023-11-18 15:45:16', 0); -INSERT INTO `workflow` VALUES (29, 'tensorflow训练', 'tensorflow 小模型训练', '{\\\"pens\\\":[{\\\"componentId\\\":1,\\\"componentName\\\":\\\"git-clone\\\",\\\"categoryId\\\":2,\\\"categoryName\\\":\\\"代码clone组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"代码拉取\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"代码克隆\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"git-clone-010ee3\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"ssh_key\\\",\\\"name\\\":\\\"ssh私钥\\\",\\\"value\\\":\\\"fdasfasfadsfadsf\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"git_repo_addr\\\",\\\"name\\\":\\\"代码库地址\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"git_branch\\\",\\\"name\\\":\\\"代码库分支/tag\\\",\\\"value\\\":\\\"master\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"clone_depth\\\",\\\"name\\\":\\\"克隆深度\\\",\\\"value\\\":\\\"1\\\",\\\"type\\\":\\\"int\\\",\\\"require\\\":true,\\\"defaultValue\\\":\\\"1\\\"}],\\\"outParameters\\\":[{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码路径\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/code\\\"}],\\\"id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"train\\\",\\\"categoryId\\\":3,\\\"categoryName\\\":\\\"训练组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"RUNNING_SET\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"pytorch训练\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"train-091bb1e\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"train.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"somuns/pretrainmodel/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"batch_size\\\\\\\":\\\\\\\"256\\\\\\\",\\\\\\\"epoch_size\\\\\\\":\\\\\\\"2\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"model_path\\\",\\\"name\\\":\\\"模型输出路径\\\",\\\"value\\\":\\\"model_path\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/model\\\"}],\\\"id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"inference\\\",\\\"categoryId\\\":4,\\\"categoryName\\\":\\\"模型推理测试\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"Actor\\\",\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"inference.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"{{train-091bb1e.model_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"modelname\\\\\\\":\\\\\\\"/model/mnist_epoch1_0.00.pkl\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/result\\\"}],\\\"id\\\":\\\"inference-37f712\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"inference-37f712\\\"}],\\\"globalParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\"},{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]}', 'admin', '2023-11-15 14:35:48', 'admin', '2023-11-15 14:36:45', 0); -INSERT INTO `workflow` VALUES (30, 'tensorflow训练', 'tensorflow 小模型训练', '{\\\"pens\\\":[{\\\"componentId\\\":1,\\\"componentName\\\":\\\"git-clone\\\",\\\"categoryId\\\":2,\\\"categoryName\\\":\\\"代码clone组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAXXXXXXXAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"代码拉取\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"代码克隆\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"git-clone-010ee3\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"ssh_key\\\",\\\"name\\\":\\\"ssh私钥\\\",\\\"value\\\":\\\"fdasfasfadsfadsf\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"git_repo_addr\\\",\\\"name\\\":\\\"代码库地址\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"git_branch\\\",\\\"name\\\":\\\"代码库分支/tag\\\",\\\"value\\\":\\\"master\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"clone_depth\\\",\\\"name\\\":\\\"克隆深度\\\",\\\"value\\\":\\\"1\\\",\\\"type\\\":\\\"int\\\",\\\"require\\\":true,\\\"defaultValue\\\":\\\"1\\\"}],\\\"outParameters\\\":[{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码路径\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/code\\\"}],\\\"id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"train\\\",\\\"categoryId\\\":3,\\\"categoryName\\\":\\\"训练组件\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"RUNNING_SET\\\",\\\"baseInfo\\\":{\\\"inParameters\\\":[{\\\"key\\\":\\\"task_name\\\",\\\"name\\\":\\\"任务名称\\\",\\\"value\\\":\\\"pytorch训练\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"task_unique_id\\\",\\\"name\\\":\\\"任务id\\\",\\\"value\\\":\\\"train-091bb1e\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]},\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"train.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"somuns/pretrainmodel/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"batch_size\\\\\\\":\\\\\\\"256\\\\\\\",\\\\\\\"epoch_size\\\\\\\":\\\\\\\"2\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"model_path\\\",\\\"name\\\":\\\"模型输出路径\\\",\\\"value\\\":\\\"model_path\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/model\\\"}],\\\"id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"inference\\\",\\\"categoryId\\\":4,\\\"categoryName\\\":\\\"模型推理测试\\\",\\\"image\\\":\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\\\",\\\"text\\\":\\\"Actor\\\",\\\"inParameters\\\":[{\\\"key\\\":\\\"compute_resource\\\",\\\"name\\\":\\\"计算资源\\\",\\\"value\\\":\\\"CPU/GPU\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"image_name\\\",\\\"name\\\":\\\"镜像名称\\\",\\\"value\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"code_path\\\",\\\"name\\\":\\\"代码目录\\\",\\\"value\\\":\\\"{{git-clone-010ee3.code_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"start_file\\\",\\\"name\\\":\\\"启动文件\\\",\\\"value\\\":\\\"inference.py\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"model_name\\\",\\\"name\\\":\\\"模型名称\\\",\\\"value\\\":\\\"{{train-091bb1e.model_path}}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false},{\\\"key\\\":\\\"dataset_name\\\",\\\"name\\\":\\\"数据集名称\\\",\\\"value\\\":\\\"somuns/dataset/mnist\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"resource_request\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 2GB\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true},{\\\"key\\\":\\\"run_params\\\",\\\"name\\\":\\\"资源规格\\\",\\\"value\\\":\\\"{\\\\\\\"modelname\\\\\\\":\\\\\\\"/model/mnist_epoch1_0.00.pkl\\\\\\\"}\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":false}],\\\"outParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true,\\\"mountPath\\\":\\\"/result\\\"}],\\\"id\\\":\\\"inference-37f712\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"componentId\\\":1,\\\"componentName\\\":\\\"workflow_line\\\",\\\"categoryId\\\":1,\\\"categoryName\\\":\\\"线\\\",\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"inference-37f712\\\"}],\\\"globalParameters\\\":[{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\"},{\\\"key\\\":\\\"result\\\",\\\"name\\\":\\\"推理结果路径\\\",\\\"value\\\":\\\"\\\",\\\"type\\\":\\\"str\\\",\\\"require\\\":true}]}', 'admin', '2023-11-15 14:39:55', 'admin', '2023-11-15 14:41:47', 0); -INSERT INTO `workflow` VALUES (31, 'tensorflow大模型训练', 'tensorflow 小模型训练', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-17 14:04:42', 'admin', '2023-11-17 14:05:47', 0); -INSERT INTO `workflow` VALUES (32, 'tensorflow训练', NULL, '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-18 15:44:51', 'admin', '2023-11-18 15:45:36', 0); -INSERT INTO `workflow` VALUES (33, 'tensorflow训练', NULL, '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-18 15:45:45', 'admin', '2023-11-18 15:45:45', 0); -INSERT INTO `workflow` VALUES (34, 'pytorch手写体识别模型训练', 'pytorch手写体识别模型训练,模型较小', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-20 09:31:03', 'admin', '2023-11-20 09:34:24', 1); -INSERT INTO `workflow` VALUES (35, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-11-20 09:32:05', 'admin', '2023-11-20 09:34:37', 1); -INSERT INTO `workflow` VALUES (36, 'mindspore多语模型模型', 'mindspore多语言模型,支持中文、阿拉伯语、英语', NULL, 'admin', '2023-11-20 09:33:14', 'admin', '2023-11-20 09:33:14', 0); -INSERT INTO `workflow` VALUES (37, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', '苏影城', '2023-12-05 10:00:53', '苏影城', '2023-12-05 10:00:53', 1); -INSERT INTO `workflow` VALUES (38, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\"pens\":[{\"componentId\":1,\"componentName\":\"git-clone\",\"categoryId\":2,\"categoryName\":\"代码clone组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"代码拉取\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"代码克隆\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"git-clone-010ee3\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"ssh_key\",\"name\":\"ssh私钥\",\"value\":\"fdasfasfadsfadsf\",\"type\":\"str\",\"require\":false},{\"key\":\"git_repo_addr\",\"name\":\"代码库地址\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\",\"type\":\"str\",\"require\":true},{\"key\":\"git_branch\",\"name\":\"代码库分支/tag\",\"value\":\"master\",\"type\":\"str\",\"require\":true},{\"key\":\"clone_depth\",\"name\":\"克隆深度\",\"value\":\"1\",\"type\":\"int\",\"require\":true,\"defaultValue\":\"1\"}],\"outParameters\":[{\"key\":\"code_path\",\"name\":\"代码路径\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/code\"}],\"id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"componentId\":1,\"componentName\":\"train\",\"categoryId\":3,\"categoryName\":\"训练组件\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"RUNNING_SET\",\"baseInfo\":{\"inParameters\":[{\"key\":\"task_name\",\"name\":\"任务名称\",\"value\":\"pytorch训练\",\"type\":\"str\",\"require\":true},{\"key\":\"task_unique_id\",\"name\":\"任务id\",\"value\":\"train-091bb1e\",\"type\":\"str\",\"require\":true}]},\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"train.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"somuns/pretrainmodel/mnist\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 1, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"batch_size\\\":\\\"256\\\",\\\"epoch_size\\\":\\\"2\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"model_path\",\"name\":\"模型输出路径\",\"value\":\"model_path\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/model\"}],\"id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"componentId\":1,\"componentName\":\"inference\",\"categoryId\":4,\"categoryName\":\"模型推理测试\",\"image\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAA6BJREFUaEPtWU1a2lAUvS/4fdpR2UHZQXEFjdK5dNB+zMQV1LCB2g0YXYE4EtuBOC8KKzCuQNwBjiptk9vzEiIJJFD6XqK2ZIJfeI93z/0597yroGf+iGduPy0BPHYElxFYRkDRA/9mCplVu2is0UegM5mpLAQVFR210HYm6uPsPgludk4ax7M2T0XAfG+XDYMu8zY61Ugmxx3SRrdtDZLWxACYNbtkMF09GeNDiwGic2qtzwVQqe03icS2v5D5jljU3R/UTUO/UF4ssHjkyCocaY8x0M5Fy4J98ScWgc2afYMXJbkEnxvfWlZ3gXO1L4U9e7Dj08ih553TRnUmgErNRv0ET6dlPTpDva3ZJgy69BOCuHfRapj/NwCZmwUmmwWolWmAT8e7JyurGtEagcoHuwqDjyYZCn1i4Hmgua+Wo7sItAHwG9sq3aTS6wyaUwGlDYD0Phl0FrArX3tCVFfAVvi7TUK8lO9dl9Z1R0EbgCidgRU+g4/3pNHRvoH3iTz95CIAPvNbO61R0QDFZdk3tEVA1kBhlSGugnSZfMDRt+Dokoq3k/ZqA+CnS6QOYodBcgjUxLyu7TvhBW8xC1NGDSlXCqMXqk8wmiMMdtzv4lxSs1YA0mipVAsGy/w3QakD9ALHFWK327L6ad6XRnhE2zC2vkiEAKqJ9T3sO/LJI+9OHDY9iKop/bIIkHBtrgB8rzOdTTU9eBEKt22gg/+6Jyfs4DK9VtaojD1l+LqOlHydUGf5aCFQbj0M+9gIPnZJ7M1KtajBQfT4AKSxlWsEJo2X7GSQqM8r8LSUivefjNWoX+AFunrwmOzYQ2GqCD0lFgILSLbxH8E88AxyLk8avSRvjYYAVw+0qMF4eY4SgFSmYGqjOA+jaTFxc7pzh6Kk4vnw7GwAjKvKcT3aoZ/UjylVj951vljtv6HKyT1KAKA0D8ECwSiDWc6FzCR6w/uu/C5YxtcXpw1QoZ5HCUDSndifFqCjoiZ2k3SRbkWqHUDo1wAINwWJNw++hibC1EDrBC8zAKHRsfsAUg7ps6sneYJfyRyAPEQ2Lyitojekpg7miTogFwA6Pa7MQpu1fUyFxSv5Q890MjeejcpxCbRMnYeipzs15kVtJOa2wHQH47bzB7PR0UYn7eo47+Csvp/VXxL/P4BbV/epgPDHODNEYeIAdyTOQIls4tpYzhuMlOGIZh+V2EwaqUcj/egTaNW0WwJQ9aDq/mUEVD2ouv83dj6dTztU6gcAAAAASUVORK5CYII=\",\"text\":\"Actor\",\"inParameters\":[{\"key\":\"compute_resource\",\"name\":\"计算资源\",\"value\":\"CPU/GPU\",\"type\":\"str\",\"require\":true},{\"key\":\"image_name\",\"name\":\"镜像名称\",\"value\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"type\":\"str\",\"require\":true},{\"key\":\"code_path\",\"name\":\"代码目录\",\"value\":\"{{git-clone-010ee3.code_path}}\",\"type\":\"str\",\"require\":true},{\"key\":\"start_file\",\"name\":\"启动文件\",\"value\":\"inference.py\",\"type\":\"str\",\"require\":true},{\"key\":\"model_name\",\"name\":\"模型名称\",\"value\":\"{{train-091bb1e.model_path}}\",\"type\":\"str\",\"require\":false},{\"key\":\"dataset_name\",\"name\":\"数据集名称\",\"value\":\"somuns/dataset/mnist\",\"type\":\"str\",\"require\":true},{\"key\":\"resource_request\",\"name\":\"资源规格\",\"value\":\"GPU: 0, CPU: 2, 内存: 2GB\",\"type\":\"str\",\"require\":true},{\"key\":\"run_params\",\"name\":\"资源规格\",\"value\":\"{\\\"modelname\\\":\\\"/model/mnist_epoch1_0.00.pkl\\\"}\",\"type\":\"str\",\"require\":false}],\"outParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true,\"mountPath\":\"/result\"}],\"id\":\"inference-37f712\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"componentId\":1,\"componentName\":\"workflow_line\",\"categoryId\":1,\"categoryName\":\"线\",\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"inference-37f712\"}],\"globalParameters\":[{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\"},{\"key\":\"result\",\"name\":\"推理结果路径\",\"value\":\"\",\"type\":\"str\",\"require\":true}]}', 'admin', '2023-12-11 09:21:12', 'admin', '2023-12-11 09:21:12', 1); -INSERT INTO `workflow` VALUES (39, 'pytorch多语言模型模型', 'pytorch多语言模型,支持中文、阿拉伯语、英语', '{\\\"components\\\":[{\\\"category_id\\\":1,\\\"component_name\\\":\\\"git-clone\\\",\\\"component_label\\\":\\\"git代码拉取\\\",\\\"description\\\":\\\"git代码拉取,支持公有和私有仓库拉取\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/git:202312071000\\\",\\\"working_directory\\\":\\\"/app\\\",\\\"command\\\":\\\"python git_clone.py\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 1, 内存: 2GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--code_path\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\\\"},\\\"--branch\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"use-dataset-zip\\\"},\\\"--depth\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"1\\\"},\\\"--ssh_private_key\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"\\\"}},\\\"out_parameters\\\":{\\\"--code_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/code\\\"}},\\\"task_id\\\":\\\"git-clone-010ee3\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"647b44d5\\\",\\\"lineAnchor\\\":\\\"2f966d31\\\",\\\"anchor\\\":\\\"1\\\"}]},{\\\"category_id\\\":2,\\\"component_name\\\":\\\"train\\\",\\\"component_label\\\":\\\"pytorch训练\\\",\\\"description\\\":\\\"通用模型训练组件,支持各种类型框架的训练\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"working_directory\\\":\\\"{{git-clone-010ee3.--code_output}}\\\",\\\"command\\\":\\\"python train.py --epoch_size=1 --batch_size=128\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 2, 内存: 4GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"model\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\\\\\"}\\\"}},\\\"out_parameters\\\":{\\\"--model_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/model\\\"}},\\\"env_virables\\\":{},\\\"task_id\\\":\\\"train-091bb1e\\\",\\\"connectedLines\\\":[{\\\"lineId\\\":\\\"7025d72a\\\",\\\"lineAnchor\\\":\\\"7982b5a4\\\",\\\"anchor\\\":\\\"2\\\"}]},{\\\"category_id\\\":2,\\\"component_name\\\":\\\"train\\\",\\\"component_label\\\":\\\"pytorch推理\\\",\\\"description\\\":\\\"通用模型训练组件,支持各种类型框架的训练\\\",\\\"image\\\":\\\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\\\",\\\"working_directory\\\":\\\"{{git-clone-010ee3.--code_output}}\\\",\\\"command\\\":\\\"python inference.py\\\",\\\"mount_path\\\":\\\"\\\",\\\"control_strategy\\\":{\\\"max_run_time\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"2h\\\"},\\\"retry_times\\\":{\\\"type\\\":\\\"int\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"0\\\"}},\\\"resources_standard\\\":{\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"CPU-GPU\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"GPU: 0, CPU: 2, 内存: 4GB\\\\\\\"}\\\"},\\\"in_parameters\\\":{\\\"--dataset\\\":{\\\"type\\\":\\\"ref\\\",\\\"item_type\\\":\\\"dataset\\\",\\\"value\\\":\\\"{\\\\\\\"name\\\\\\\":\\\\\\\"mnist\\\\\\\", \\\\\\\"path\\\\\\\":\\\\\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\\\\\"}\\\"},\\\"--model_name\\\":{\\\"type\\\":\\\"str\\\",\\\"item_type\\\":\\\"\\\",\\\"value\\\":\\\"{{train-091bb1e.--model_output}}\\\"}},\\\"out_parameters\\\":{\\\"--result_output\\\":{\\\"type\\\":\\\"str\\\",\\\"path\\\":\\\"/result\\\"}},\\\"env_virables\\\":{\\\"HOST_IP\\\":\\\"10.1.1.2\\\"},\\\"task_id\\\":\\\"train-37f712\\\"}],\\\"lines\\\":[{\\\"id\\\":\\\"647b44d5\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"git-clone-010ee3\\\",\\\"target\\\":\\\"train-091bb1e\\\"},{\\\"id\\\":\\\"7025d72a\\\",\\\"name\\\":\\\"line\\\",\\\"lineName\\\":\\\"curve\\\",\\\"type\\\":1,\\\"source\\\":\\\"train-091bb1e\\\",\\\"target\\\":\\\"train-37f712\\\"}]}', '苏影城', '2023-12-11 15:02:35', 'admin', '2023-12-21 14:26:51', 1); -INSERT INTO `workflow` VALUES (40, '组件库方式pytorch手写体识别', '手写体识别', '{\"components\":[{\"category_id\":1,\"component_name\":\"git-clone\",\"component_label\":\"git代码拉取\",\"description\":\"git代码拉取,支持公有和私有仓库拉取\",\"image\":\"ccr.ccs.tencentyun.com/somunslotus/git:202312071000\",\"working_directory\":\"/app\",\"command\":\"python git_clone.py\",\"mount_path\":\"\",\"control_strategy\":{\"max_run_time\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"int\",\"item_type\":\"\",\"value\":\"0\"}},\"resources_standard\":{\"value\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 1, 内存: 2GB\\\"}\"},\"in_parameters\":{\"--code_path\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"https://openi.pcl.ac.cn/somunslotus/somun202304241505581.git\"},\"--branch\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"use-dataset-zip\"},\"--depth\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"1\"},\"--ssh_private_key\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"\"}},\"out_parameters\":{\"--code_output\":{\"type\":\"str\",\"path\":\"/code\"}},\"task_id\":\"git-clone-010ee3\",\"connectedLines\":[{\"lineId\":\"647b44d5\",\"lineAnchor\":\"2f966d31\",\"anchor\":\"1\"}]},{\"category_id\":2,\"component_name\":\"train\",\"component_label\":\"pytorch训练\",\"description\":\"通用模型训练组件,支持各种类型框架的训练\",\"image\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"working_directory\":\"{{git-clone-010ee3.--code_output}}\",\"command\":\"python train.py --epoch_size=1 --batch_size=128\",\"mount_path\":\"\",\"control_strategy\":{\"max_run_time\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"int\",\"item_type\":\"\",\"value\":\"0\"}},\"resources_standard\":{\"value\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\"},\"in_parameters\":{\"--dataset\":{\"type\":\"ref\",\"item_type\":\"dataset\",\"value\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\"},\"--model_name\":{\"type\":\"ref\",\"item_type\":\"model\",\"value\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/pretrainmodel/mnist/ssd_80C_500E.ckpt\\\"}\"}},\"out_parameters\":{\"--model_output\":{\"type\":\"str\",\"path\":\"/model\"}},\"env_virables\":{},\"task_id\":\"train-091bb1e\",\"connectedLines\":[{\"lineId\":\"7025d72a\",\"lineAnchor\":\"7982b5a4\",\"anchor\":\"2\"}]},{\"category_id\":2,\"component_name\":\"train\",\"component_label\":\"pytorch推理\",\"description\":\"通用模型训练组件,支持各种类型框架的训练\",\"image\":\"ccr.ccs.tencentyun.com/somunslotus/ai-develop:pytorch_1.9.1_cuda11.1_detection\",\"working_directory\":\"{{git-clone-010ee3.--code_output}}\",\"command\":\"python inference.py\",\"mount_path\":\"\",\"control_strategy\":{\"max_run_time\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"2h\"},\"retry_times\":{\"type\":\"int\",\"item_type\":\"\",\"value\":\"0\"}},\"resources_standard\":{\"value\":\"{\\\"name\\\":\\\"CPU-GPU\\\",\\\"value\\\":\\\"GPU: 0, CPU: 2, 内存: 4GB\\\"}\"},\"in_parameters\":{\"--dataset\":{\"type\":\"ref\",\"item_type\":\"dataset\",\"value\":\"{\\\"name\\\":\\\"mnist\\\", \\\"path\\\":\\\"argo-workflow/platform-data/somuns/dataset/mnist/MnistDataset_torch.zip\\\"}\"},\"--model_name\":{\"type\":\"str\",\"item_type\":\"\",\"value\":\"{{train-091bb1e.--model_output}}\"}},\"out_parameters\":{\"--result_output\":{\"type\":\"str\",\"path\":\"/result\"}},\"env_virables\":{\"HOST_IP\":\"10.1.1.2\"},\"task_id\":\"train-37f712\"}],\"lines\":[{\"id\":\"647b44d5\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"git-clone-010ee3\",\"target\":\"train-091bb1e\"},{\"id\":\"7025d72a\",\"name\":\"line\",\"lineName\":\"curve\",\"type\":1,\"source\":\"train-091bb1e\",\"target\":\"train-37f712\"}]}', 'admin', '2023-12-21 14:26:22', 'admin', '2023-12-21 14:27:51', 1); - -SET FOREIGN_KEY_CHECKS = 1;