| @@ -11655,6 +11655,11 @@ | |||||
| "autolinker": "~0.28.0" | "autolinker": "~0.28.0" | ||||
| } | } | ||||
| }, | }, | ||||
| "remixicon": { | |||||
| "version": "2.5.0", | |||||
| "resolved": "https://registry.npmjs.org/remixicon/-/remixicon-2.5.0.tgz", | |||||
| "integrity": "sha512-q54ra2QutYDZpuSnFjmeagmEiN9IMo56/zz5dDNitzKD23oFRw77cWo4TsrAdmdkPiEn8mxlrTqxnkujDbEGww==" | |||||
| }, | |||||
| "remove-bom-buffer": { | "remove-bom-buffer": { | ||||
| "version": "3.0.0", | "version": "3.0.0", | ||||
| "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", | "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", | ||||
| @@ -42,6 +42,7 @@ | |||||
| "postcss-preset-env": "6.7.0", | "postcss-preset-env": "6.7.0", | ||||
| "postcss-safe-parser": "4.0.2", | "postcss-safe-parser": "4.0.2", | ||||
| "qs": "6.9.4", | "qs": "6.9.4", | ||||
| "remixicon": "2.5.0", | |||||
| "spark-md5": "3.0.1", | "spark-md5": "3.0.1", | ||||
| "svg-sprite-loader": "5.0.0", | "svg-sprite-loader": "5.0.0", | ||||
| "svgo": "1.3.2", | "svgo": "1.3.2", | ||||
| @@ -149,12 +149,6 @@ | |||||
| {{.i18n.Tr "repo.model_manager"}} | {{.i18n.Tr "repo.model_manager"}} | ||||
| </a> | </a> | ||||
| {{end}} | {{end}} | ||||
| {{if .Permission.CanRead $.UnitTypeModelManage}} | |||||
| <a class="{{if .isModelManage}}active{{end}} item" href="{{.RepoLink}}/modelmanage/show_model"> | |||||
| <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"/><path d="M3.741 1.408l18.462 10.154a.5.5 0 0 1 0 .876L3.741 22.592A.5.5 0 0 1 3 22.154V1.846a.5.5 0 0 1 .741-.438zM5 13v6.617L18.85 12 5 4.383V11h5v2H5z"/></svg> | |||||
| {{.i18n.Tr "repo.model_manager"}} | |||||
| </a> | |||||
| {{end}} | |||||
| {{if .Permission.CanRead $.UnitTypeCloudBrain}} | {{if .Permission.CanRead $.UnitTypeCloudBrain}} | ||||
| <a class="{{if .PageIsCloudBrain}}active{{end}} item" href="{{.RepoLink}}/debugjob?debugListType=all"> | <a class="{{if .PageIsCloudBrain}}active{{end}} item" href="{{.RepoLink}}/debugjob?debugListType=all"> | ||||
| <span> | <span> | ||||
| @@ -121,7 +121,7 @@ | |||||
| </div> | </div> | ||||
| <!-- 任务运行时间 --> | <!-- 任务运行时间 --> | ||||
| <div class="two wide column text center padding0"> | <div class="two wide column text center padding0"> | ||||
| <span style="font-size: 12px;" id="duration-{{.JobID}}"></span> | |||||
| <span style="font-size: 12px;" id="duration-{{.JobID}}">{{.TrainJobDuration}}</span> | |||||
| </div> | </div> | ||||
| <!-- 计算资源 --> | <!-- 计算资源 --> | ||||
| <div class="two wide column text center padding0"> | <div class="two wide column text center padding0"> | ||||
| @@ -253,35 +253,18 @@ | |||||
| } | } | ||||
| } | } | ||||
| function loadJobDuration() { | |||||
| $(".job-status").each((index, job) => { | |||||
| const jobID = job.dataset.jobid; | |||||
| const repoPath = job.dataset.repopath; | |||||
| const versionname = job.dataset.version | |||||
| $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}?version_name=${versionname}`, (data) => { | |||||
| console.log(data) | |||||
| const duration = data.JobDuration | |||||
| const jobID = data.JobID | |||||
| $('#duration-'+jobID).text(duration) | |||||
| }) | |||||
| }) | |||||
| } | |||||
| $(document).ready(loadJobDuration); | |||||
| // 加载任务状态 | // 加载任务状态 | ||||
| var timeid = window.setInterval(loadJobStatus, 15000); | var timeid = window.setInterval(loadJobStatus, 15000); | ||||
| $(document).ready(loadJobStatus); | $(document).ready(loadJobStatus); | ||||
| function loadJobStatus() { | function loadJobStatus() { | ||||
| $(".job-status").each((index, job) => { | $(".job-status").each((index, job) => { | ||||
| const jobID = job.dataset.jobid; | |||||
| const repoPath = job.dataset.repopath; | |||||
| const jobID = job.dataset.jobid | |||||
| const repoPath = job.dataset.repopath | |||||
| const versionname = job.dataset.version | const versionname = job.dataset.version | ||||
| if (job.textContent.trim() == 'IMAGE_FAILED' || job.textContent.trim() == 'SUBMIT_FAILED' || job.textContent.trim() == 'DELETE_FAILED' | |||||
| || job.textContent.trim() == 'KILLED' || job.textContent.trim() == 'COMPLETED' || job.textContent.trim() == 'FAILED' | |||||
| || job.textContent.trim() == 'CANCELED' || job.textContent.trim() == 'LOST') { | |||||
| return | |||||
| const status_text = $(`#${jobID}-text`).text() | |||||
| if(['IMAGE_FAILED','SUBMIT_FAILED','DELETE_FAILED','KILLED','COMPLETED','FAILED','CANCELED','LOST','START_FAILED'].includes(status_text)){ | |||||
| return | |||||
| } | } | ||||
| $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}?version_name=${versionname}`, (data) => { | $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}?version_name=${versionname}`, (data) => { | ||||
| const jobID = data.JobID | const jobID = data.JobID | ||||
| const status = data.JobStatus | const status = data.JobStatus | ||||
| @@ -329,7 +312,6 @@ | |||||
| } | } | ||||
| } | } | ||||
| function stopVersion(version_name,jobID){ | function stopVersion(version_name,jobID){ | ||||
| const url = '/api/v1/repos/{{$.RepoRelPath}}/modelarts/train-job/'+jobID+'/stop_version' | const url = '/api/v1/repos/{{$.RepoRelPath}}/modelarts/train-job/'+jobID+'/stop_version' | ||||
| $.post(url,{version_name:version_name},(data)=>{ | $.post(url,{version_name:version_name},(data)=>{ | ||||
| if(data.StatusOK===0){ | if(data.StatusOK===0){ | ||||
| @@ -450,7 +450,6 @@ td, th { | |||||
| {{template "base/footer" .}} | {{template "base/footer" .}} | ||||
| <script> | <script> | ||||
| console.log({{.version_list_task}}) | |||||
| $('.menu .item').tab() | $('.menu .item').tab() | ||||
| $(document).ready(function(){ | $(document).ready(function(){ | ||||
| @@ -495,14 +494,19 @@ td, th { | |||||
| } | } | ||||
| function loadJobStatus() { | function loadJobStatus() { | ||||
| $(".ui.accordion.border-according").each((index, job) => { | $(".ui.accordion.border-according").each((index, job) => { | ||||
| const jobID = job.dataset.jobid; | const jobID = job.dataset.jobid; | ||||
| const repoPath = job.dataset.repopath; | const repoPath = job.dataset.repopath; | ||||
| const versionname = job.dataset.version | const versionname = job.dataset.version | ||||
| if (job.textContent.trim() == 'IMAGE_FAILED' || job.textContent.trim() == 'SUBMIT_FAILED' || job.textContent.trim() == 'DELETE_FAILED' | |||||
| || job.textContent.trim() == 'KILLED' || job.textContent.trim() == 'COMPLETED' || job.textContent.trim() == 'FAILED' | |||||
| || job.textContent.trim() == 'CANCELED' || job.textContent.trim() == 'LOST') { | |||||
| return | |||||
| // ['IMAGE_FAILED','SUBMIT_FAILED','DELETE_FAILED','KILLED','COMPLETED','FAILED','CANCELED','LOST','START_FAILED'] | |||||
| // if (job.textContent.trim() == 'IMAGE_FAILED' || job.textContent.trim() == 'SUBMIT_FAILED' || job.textContent.trim() == 'DELETE_FAILED' | |||||
| // || job.textContent.trim() == 'KILLED' || job.textContent.trim() == 'COMPLETED' || job.textContent.trim() == 'FAILED' | |||||
| // || job.textContent.trim() == 'CANCELED' || job.textContent.trim() == 'LOST') { | |||||
| // return | |||||
| // } | |||||
| let status = $(`#${versionname}-status-span`).text() | |||||
| if(['IMAGE_FAILED','SUBMIT_FAILED','DELETE_FAILED','KILLED','COMPLETED','FAILED','CANCELED','LOST','START_FAILED'].includes(status)){ | |||||
| return | |||||
| } | } | ||||
| let stopArray=["KILLED","FAILED","START_FAILED","KILLING","COMPLETED"] | let stopArray=["KILLED","FAILED","START_FAILED","KILLING","COMPLETED"] | ||||
| $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}?version_name=${versionname}`, (data) => { | $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}?version_name=${versionname}`, (data) => { | ||||
| @@ -1,6 +1,6 @@ | |||||
| @import "~highlight.js/styles/github.css"; | @import "~highlight.js/styles/github.css"; | ||||
| @import "./vendor/gitGraph.css"; | @import "./vendor/gitGraph.css"; | ||||
| // @import "~/remixicon/fonts/remixicon.css"; | |||||
| @import "_svg"; | @import "_svg"; | ||||
| @import "_tribute"; | @import "_tribute"; | ||||
| @import "_base"; | @import "_base"; | ||||