| @@ -3,13 +3,12 @@ | |||
| {{$gpuQueue := 0}} | |||
| {{range $k,$v :=.gpu_types}} | |||
| {{if eq $k 0}} | |||
| {{ $queue := $v.Queue }} | |||
| {{ $queue = $v.Queue }} | |||
| {{ end }} | |||
| {{ end }} | |||
| {{ range $k,$v :=.QueuesDetail }} | |||
| {{if eq $k $queue}} | |||
| {{$gpuQueue :=$v}} | |||
| {{$gpuQueue =$v}} | |||
| {{ end }} | |||
| {{ end }} | |||
| <i | |||
| @@ -270,9 +270,9 @@ | |||
| class="cti-mgRight-sm">{{$.i18n.Tr "repo.modelarts.train_job.dura_time"}}:</span> | |||
| <span class="cti-mgRight-sm uc-accordionTitle-black" | |||
| id="{{.VersionName}}-duration-span">{{.TrainJobDuration}}</span> | |||
| <span data-tooltip="刷新" style="cursor: pointer;" data-inverted="" | |||
| onclick="refreshStatus({{.VersionName}})"><i | |||
| class="redo icon redo-color"></i></span> | |||
| <span id="refresh-status" data-tooltip="刷新" style="cursor: pointer;" data-inverted="" data-version="{{.VersionName}}"> | |||
| <i class="redo icon redo-color"></i> | |||
| </span> | |||
| </div> | |||
| <div style="float: right;"> | |||
| @@ -871,24 +871,24 @@ | |||
| size = size.toFixed(0);//保留的小数位数 | |||
| return size + unitArr[index]; | |||
| } | |||
| function refreshStatus(version_name) { | |||
| $.get(`/api/v1/repos/${userName}/${repoPath}/grampus/train-job/${jobID}?version_name=${version_name}`, (data) => { | |||
| // header status and duration | |||
| $(`#${version_name}-duration-span`).text(data.JobDuration) | |||
| $(`#${version_name}-status-span span`).text(data.JobStatus) | |||
| $(`#${version_name}-status-span i`).attr("class", data.JobStatus) | |||
| // detail status and duration | |||
| $('#' + version_name + '-duration').text(data.JobDuration) | |||
| $('#' + version_name + '-status').text(data.JobStatus) | |||
| $('#' + version_name + '-ai_center').text(data.AiCenter) | |||
| loadLog(version_name) | |||
| }).fail(function (err) { | |||
| console.log(err); | |||
| }); | |||
| stopBubbling(arguments.callee.caller.arguments[0]) | |||
| } | |||
| // function refreshStatus(version_name) { | |||
| // $.get(`/api/v1/repos/${userName}/${repoPath}/grampus/train-job/${jobID}?version_name=${version_name}`, (data) => { | |||
| // // header status and duration | |||
| // $(`#${version_name}-duration-span`).text(data.JobDuration) | |||
| // $(`#${version_name}-status-span span`).text(data.JobStatus) | |||
| // $(`#${version_name}-status-span i`).attr("class", data.JobStatus) | |||
| // // detail status and duration | |||
| // $('#' + version_name + '-duration').text(data.JobDuration) | |||
| // $('#' + version_name + '-status').text(data.JobStatus) | |||
| // $('#' + version_name + '-ai_center').text(data.AiCenter) | |||
| // loadLog(version_name) | |||
| // }).fail(function (err) { | |||
| // console.log(err); | |||
| // }); | |||
| // stopBubbling(arguments.callee.caller.arguments[0]) | |||
| // } | |||
| function deleteVersion(version_name) { | |||
| stopBubbling(arguments.callee.caller.arguments[0]) | |||
| let flag = 1; | |||
| @@ -270,12 +270,14 @@ | |||
| {{end}} | |||
| {{if .CanDel}} | |||
| <a class="ti-action-menu-item {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED"}}disabled {{end}}" | |||
| <a class="ti-action-menu-item stop-show-version {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED"}}disabled {{end}}" | |||
| id="{{.VersionName}}-stop" | |||
| onclick="stopVersion({{.VersionName}})">{{$.i18n.Tr "repo.stop"}}</a> | |||
| data-jobid="{{.JobID}}" | |||
| data-repopath="{{$.RepoRelPath}}/modelarts/train-job" | |||
| data-version = "{{.VersionName}}" | |||
| >{{$.i18n.Tr "repo.stop"}}</a> | |||
| {{else}} | |||
| <a class="ti-action-menu-item disabled" id="{{.VersionName}}-stop" | |||
| onclick="stopVersion({{.VersionName}})">{{$.i18n.Tr "repo.stop"}}</a> | |||
| <a class="ti-action-menu-item disabled" id="{{.VersionName}}-stop">{{$.i18n.Tr "repo.stop"}}</a> | |||
| {{end}} | |||
| @@ -308,10 +310,9 @@ | |||
| class="cti-mgRight-sm">{{$.i18n.Tr "repo.modelarts.train_job.dura_time"}}:</span> | |||
| <span class="cti-mgRight-sm uc-accordionTitle-black" | |||
| id="{{.VersionName}}-duration-span">{{.TrainJobDuration}}</span> | |||
| <span data-tooltip="刷新" style="cursor: pointer;" data-inverted="" | |||
| onclick="refreshStatus({{.VersionName}})"><i | |||
| class="redo icon redo-color"></i></span> | |||
| <span id="refresh-status" data-tooltip="刷新" style="cursor: pointer;" data-inverted="" data-version="{{.VersionName}}"> | |||
| <i class="redo icon redo-color"></i> | |||
| </span> | |||
| </div> | |||
| </span> | |||
| </span> | |||
| @@ -877,28 +878,28 @@ | |||
| $('#name').val(modelName) | |||
| $('#version').val("0.0.1") | |||
| } | |||
| function refreshStatus(version_name) { | |||
| $.get(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}?version_name=${version_name}`, (data) => { | |||
| // header status and duration | |||
| $(`#${version_name}-duration-span`).text(data.JobDuration) | |||
| $(`#${version_name}-status-span span`).text(data.JobStatus) | |||
| $(`#${version_name}-status-span i`).attr("class", data.JobStatus) | |||
| // detail status and duration | |||
| $('#' + version_name + '-duration').text(data.JobDuration) | |||
| $('#' + version_name + '-status').text(data.JobStatus) | |||
| console.log(data) | |||
| if (["KILLED", "FAILED", "START_FAILED", "STOPPED", "COMPLETED"].includes(data.JobStatus)) { | |||
| $('#' + version_name + '-stop').addClass('disabled') | |||
| } | |||
| loadLog(version_name) | |||
| }).fail(function (err) { | |||
| console.log(err); | |||
| }); | |||
| stopBubbling(arguments.callee.caller.arguments[0]) | |||
| } | |||
| // function refreshStatus(version_name) { | |||
| // $.get(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}?version_name=${version_name}`, (data) => { | |||
| // // header status and duration | |||
| // $(`#${version_name}-duration-span`).text(data.JobDuration) | |||
| // $(`#${version_name}-status-span span`).text(data.JobStatus) | |||
| // $(`#${version_name}-status-span i`).attr("class", data.JobStatus) | |||
| // // detail status and duration | |||
| // $('#' + version_name + '-duration').text(data.JobDuration) | |||
| // $('#' + version_name + '-status').text(data.JobStatus) | |||
| // console.log(data) | |||
| // if (["KILLED", "FAILED", "START_FAILED", "STOPPED", "COMPLETED"].includes(data.JobStatus)) { | |||
| // $('#' + version_name + '-stop').addClass('disabled') | |||
| // } | |||
| // loadLog(version_name) | |||
| // }).fail(function (err) { | |||
| // console.log(err); | |||
| // }); | |||
| // stopBubbling(arguments.callee.caller.arguments[0]) | |||
| // } | |||
| function deleteVersion(version_name) { | |||
| stopBubbling(arguments.callee.caller.arguments[0]) | |||
| let flag = 1; | |||
| @@ -327,6 +327,23 @@ export default async function initCloudrain() { | |||
| }); | |||
| } | |||
| $(".stop-show-version").click(function (e) { | |||
| const ID = this.dataset.jobid; | |||
| const repoPath = this.dataset.repopath; | |||
| const version_name = this.dataset.version; | |||
| const url = `/api/v1/repos/${repoPath}/${ID}/stop_version`; | |||
| $.post(url, { version_name: version_name }, (data) => { | |||
| if (data.StatusOK === 0) { | |||
| $(`#${version_name}-stop`).removeClass("blue"); | |||
| $(`#${version_name}-stop`).addClass("disabled"); | |||
| refreshStatusShow(version_name, ID, repoPath); | |||
| } | |||
| }).fail(function (err) { | |||
| console.log(err); | |||
| }); | |||
| e.stopPropagation(); | |||
| }); | |||
| $("#refresh-status").click(function (e) { | |||
| let version_name = $(this).data("version"); | |||
| let ID = $(`#accordion${version_name}`).data("jobid"); | |||
| @@ -339,11 +356,16 @@ export default async function initCloudrain() { | |||
| $.get( | |||
| `/api/v1/repos/${repoPath}/${ID}?version_name=${version_name}`, | |||
| (data) => { | |||
| //accroding下的状态 | |||
| $(`#${version_name}-status-span span`).text(data.JobStatus); | |||
| //accroding下的状态图标 | |||
| $(`#${version_name}-status-span i`).attr("class", data.JobStatus); | |||
| //accroding下的运行时长 | |||
| $(`#${version_name}-duration-span`).text(data.JobDuration); | |||
| $("#" + versionname + "-duration").text(data.JobDuration); | |||
| $("#" + versionname + "-status").text(data.JobStatus); | |||
| //配置信息详情页的状态 | |||
| $(`#${version_name}-status`).text(data.JobStatus); | |||
| //配置信息详情页的状态 | |||
| $(`#${version_name}-duration`).text(data.JobDuration); | |||
| } | |||
| ).fail(function (err) { | |||
| console.log(err); | |||