|
|
|
@@ -1,6 +1,6 @@ |
|
|
|
{{template "base/head" .}} |
|
|
|
<!-- 弹窗 --> |
|
|
|
<div id="mask"> |
|
|
|
<!-- 弹窗 --> |
|
|
|
<div id="mask"> |
|
|
|
<div id="loadingPage"> |
|
|
|
<div class="rect1"></div> |
|
|
|
<div class="rect2"></div> |
|
|
|
@@ -12,21 +12,26 @@ |
|
|
|
<!-- 提示框 --> |
|
|
|
<div class="alert"></div> |
|
|
|
<div class="admin user"> |
|
|
|
<div class="cloudbrain_debug" style="display: none;" data-debug="{{$.i18n.Tr "repo.debug"}}" data-debug-again="{{$.i18n.Tr "repo.debug_again"}}" |
|
|
|
data-all-task="{{.i18n.Tr "admin.cloudbrain.all_task_types"}}" data-all-compute="{{.i18n.Tr "admin.cloudbrain.all_computing_resources"}}" data-all-status="{{.i18n.Tr "admin.cloudbrain.all_status"}}"></div> |
|
|
|
<div class="cloudbrain_debug" style="display: none;" data-debug="{{$.i18n.Tr "repo.debug"}}" |
|
|
|
data-debug-again="{{$.i18n.Tr "repo.debug_again"}}" |
|
|
|
data-all-task="{{.i18n.Tr "admin.cloudbrain.all_task_types"}}" |
|
|
|
data-all-compute="{{.i18n.Tr "admin.cloudbrain.all_computing_resources"}}" |
|
|
|
data-all-status="{{.i18n.Tr "admin.cloudbrain.all_status"}}"></div> |
|
|
|
{{template "admin/navbar" .}} |
|
|
|
<div class="ui container" style="width: 80%;"> |
|
|
|
{{template "base/alert" .}} |
|
|
|
<div class="ui grid" > |
|
|
|
<div class="ui grid"> |
|
|
|
<div class="row" style="border: 1px solid #d4d4d5;margin-top: 15px;padding-top: 0;"> |
|
|
|
{{template "admin/cloudbrain/search" .}} |
|
|
|
<div class="ui six wide column right aligned" style="margin: 1rem 0;"> |
|
|
|
<a class="ui compact blue basic icon button" style="box-shadow: none !important; padding: 0.8em;" href="/admin/cloudbrains/download"><i class="ri-download-line middle aligned icon"></i>{{.i18n.Tr "admin.cloudbrain.download_report"}}</a> |
|
|
|
<a class="ui compact blue basic icon button" style="box-shadow: none !important; padding: 0.8em;" |
|
|
|
href="/admin/cloudbrains/download"><i |
|
|
|
class="ri-download-line middle aligned icon"></i>{{.i18n.Tr "admin.cloudbrain.download_report"}}</a> |
|
|
|
</div> |
|
|
|
<div class="ui sixteen wide column"> |
|
|
|
<!-- 任务展示 --> |
|
|
|
<div class="dataset list"> |
|
|
|
<!-- 表头 --> |
|
|
|
<!-- 表头 --> |
|
|
|
<div class="ui grid stackable" style="background: #f0f0f0;;"> |
|
|
|
<div class="row"> |
|
|
|
<div class="two wide column nowrap"> |
|
|
|
@@ -39,13 +44,13 @@ |
|
|
|
<span>{{$.i18n.Tr "repo.modelarts.status"}}</span> |
|
|
|
</div> |
|
|
|
<div class="two wide column text center nowrap" style="width: 10% !important;"> |
|
|
|
<span>{{$.i18n.Tr "repo.modelarts.createtime"}}</span> |
|
|
|
<span>{{$.i18n.Tr "repo.modelarts.createtime"}}</span> |
|
|
|
</div> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span>{{$.i18n.Tr "repo.cloudbrain_status_runtime"}}</span> |
|
|
|
</div> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span>{{$.i18n.Tr "repo.modelarts.computing_resources"}}</span> |
|
|
|
<span>{{$.i18n.Tr "repo.modelarts.computing_resources"}}</span> |
|
|
|
</div> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span>{{$.i18n.Tr "repo.cloudbrain_creator"}}</span> |
|
|
|
@@ -75,20 +80,32 @@ |
|
|
|
<!-- {{$JobID}} --> |
|
|
|
<div class="two wide column nowrap"> |
|
|
|
{{if or (eq .JobType "DEBUG") (eq .JobType "SNN4IMAGENET") (eq .JobType "BRAINSCORE")}} |
|
|
|
<a class="title" href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain/{{$JobID}}{{else}}/modelarts/notebook/{{$JobID}}{{end}}" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<a class="title" |
|
|
|
href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain/{{$JobID}}{{else}}/modelarts/notebook/{{$JobID}}{{end}}" |
|
|
|
title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{else if eq .JobType "INFERENCE"}} |
|
|
|
<a class="title" href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/modelarts/inference-job/{{$JobID}}" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<a class="title" |
|
|
|
href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/modelarts/inference-job/{{$JobID}}" |
|
|
|
title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{else if eq .JobType "TRAIN"}} |
|
|
|
<a class="title" href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts{{end}}/train-job/{{$JobID}}" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<a class="title" |
|
|
|
href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts{{end}}/train-job/{{$JobID}}" |
|
|
|
title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{else if eq .JobType "BENCHMARK"}} |
|
|
|
<a class="title" href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/cloudbrain/benchmark/{{$JobID}}" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<a class="title" |
|
|
|
href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/cloudbrain/benchmark/{{$JobID}}" |
|
|
|
title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{end}} |
|
|
|
</div> |
|
|
|
@@ -97,50 +114,68 @@ |
|
|
|
<span style="font-size: 12px;">{{.JobType}} </span> |
|
|
|
</div> |
|
|
|
<!-- 任务状态 --> |
|
|
|
<div class="two wide column text center nowrap" style="padding-left: 2.2rem !important; width: 10% !important;"> |
|
|
|
<span class="job-status" id="{{$JobID}}" data-repopath='{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .JobType "DEBUG"}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{else if eq .JobType "INFERENCE"}}/modelarts/inference-job{{else if eq .JobType "TRAIN"}}/modelarts/train-job{{else if eq .JobType "BENCHMARK"}}/cloudbrain{{end}}' data-jobid="{{$JobID}}" data-version="{{.VersionName}}"> |
|
|
|
<span><i id="{{$JobID}}-icon" style="vertical-align: middle;" class="{{.Status}}"></i><span id="{{$JobID}}-text" style="margin-left: 0.4em;font-size: 12px;">{{.Status}}</span></span> |
|
|
|
<div class="two wide column text center nowrap" |
|
|
|
style="padding-left: 2.2rem !important; width: 10% !important;"> |
|
|
|
<span class="job-status" id="{{$JobID}}" |
|
|
|
data-repopath='{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .JobType "DEBUG"}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{else if eq .JobType "INFERENCE"}}/modelarts/inference-job{{else if eq .JobType "TRAIN"}}/modelarts/train-job{{else if eq .JobType "BENCHMARK"}}/cloudbrain{{end}}' |
|
|
|
data-jobid="{{$JobID}}" data-version="{{.VersionName}}"> |
|
|
|
<span><i id="{{$JobID}}-icon" style="vertical-align: middle;" |
|
|
|
class="{{.Status}}"></i><span id="{{$JobID}}-text" |
|
|
|
style="margin-left: 0.4em;font-size: 12px;">{{.Status}}</span></span> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<!-- 任务创建时间 --> |
|
|
|
<div class="two wide column text center nowrap" style="width: 10% !important;"> |
|
|
|
<span style="font-size: 12px;" class="">{{TimeSinceUnix1 .Cloudbrain.CreatedUnix}}</span> |
|
|
|
<span style="font-size: 12px;" |
|
|
|
class="">{{TimeSinceUnix1 .Cloudbrain.CreatedUnix}}</span> |
|
|
|
</div> |
|
|
|
<!-- 任务运行时间 --> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span style="font-size: 12px;" id="duration-{{$JobID}}">{{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}}</span> |
|
|
|
<span style="font-size: 12px;" |
|
|
|
id="duration-{{$JobID}}">{{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}}</span> |
|
|
|
</div> |
|
|
|
<!-- 计算资源 --> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span> |
|
|
|
<span |
|
|
|
style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span> |
|
|
|
</div> |
|
|
|
<!-- 创建者 --> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
{{if .User.Name}} |
|
|
|
<a href="{{AppSubUrl}}/{{.User.Name}}" title="{{.User.Name}}"><img class="ui avatar image" src="{{.User.RelAvatarLink}}"></a> |
|
|
|
<a href="{{AppSubUrl}}/{{.User.Name}}" title="{{.User.Name}}"><img |
|
|
|
class="ui avatar image" src="{{.User.RelAvatarLink}}"></a> |
|
|
|
{{else}} |
|
|
|
<a title="Ghost"><img class="ui avatar image" src="{{AppSubUrl}}/user/avatar/Ghost/-1"></a> |
|
|
|
<a title="Ghost"><img class="ui avatar image" |
|
|
|
src="{{AppSubUrl}}/user/avatar/Ghost/-1"></a> |
|
|
|
{{end}} |
|
|
|
</div> |
|
|
|
<!-- 项目 --> |
|
|
|
<div class="two wide column text center nowrap"> |
|
|
|
<a href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}" title="{{.Repo.OwnerName}}/{{.Repo.Alias}}">{{.Repo.OwnerName}}/{{.Repo.Alias}}</a> |
|
|
|
<a href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}" |
|
|
|
title="{{.Repo.OwnerName}}/{{.Repo.Alias}}">{{.Repo.OwnerName}}/{{.Repo.Alias}}</a> |
|
|
|
</div> |
|
|
|
<!-- 云脑侧名称 --> |
|
|
|
<div class="two wide column text center nowrap" style="overflow: hidden;text-overflow:ellipsis;"> |
|
|
|
<div class="two wide column text center nowrap" |
|
|
|
style="overflow: hidden;text-overflow:ellipsis;"> |
|
|
|
<span class="fitted" title="{{.JobName}}">{{.JobName}}</span> |
|
|
|
</div> |
|
|
|
<div class="two wide column text center nowrap" style="width: 17.5%!important;"> |
|
|
|
{{if eq .JobType "DEBUG" "SNN4IMAGENET" "BRAINSCORE"}} |
|
|
|
{{if eq .JobType "DEBUG"}} |
|
|
|
<div class="ui compact buttons"> |
|
|
|
<form id="debugAgainForm-{{$JobID}}"> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
{{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}} |
|
|
|
<a style="margin: 0 1rem;" id="ai-debug-{{$JobID}}" class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}}disabled {{else}}blue {{end}}button' data-jobid="{{$JobID}}" data-repopath='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}/{{$JobID}}/'> |
|
|
|
<a style="margin: 0 1rem;" id="ai-debug-{{$JobID}}" |
|
|
|
class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}}disabled {{else}}blue {{end}}button' |
|
|
|
data-jobid="{{$JobID}}" |
|
|
|
data-repopath='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}/{{$JobID}}/'> |
|
|
|
{{$.i18n.Tr "repo.debug"}} |
|
|
|
</a> |
|
|
|
{{else}} |
|
|
|
<a id="ai-debug-{{$JobID}}" class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}} disabled {{else}}blue {{end}}button' data-jobid="{{$JobID}}" data-repopath='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}/{{$JobID}}/'> |
|
|
|
<a id="ai-debug-{{$JobID}}" |
|
|
|
class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}} disabled {{else}}blue {{end}}button' |
|
|
|
data-jobid="{{$JobID}}" |
|
|
|
data-repopath='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}/{{$JobID}}/'> |
|
|
|
{{$.i18n.Tr "repo.debug_again"}} |
|
|
|
</a> |
|
|
|
{{end}} |
|
|
|
@@ -150,22 +185,33 @@ |
|
|
|
<!-- 停止任务 --> |
|
|
|
<div class="ui compact buttons"> |
|
|
|
{{if eq .JobType "DEBUG" "BENCHMARK" "SNN4IMAGENET" "BRAINSCORE"}} |
|
|
|
<form id="stopForm-{{$JobID}}" style="margin-left:-1px;"> |
|
|
|
<form id="stopForm-{{$JobID}}" style="margin-left:-1px;"> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
<a style="padding: 0.5rem 1rem;" id="ai-stop-{{$JobID}}" class='ui basic ai_stop {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED" "SUCCEEDED" "STOPPED" "STOPPING"}}disabled {{else}} blue {{end}}button' data-repopath='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else if eq .JobType "BENCHMARK" }}/cloudbrain/benchmark{{else if eq .ComputeResource "NPU" }}/modelarts/notebook{{end}}/{{$JobID}}/stop' data-jobid="{{$JobID}}"> |
|
|
|
<a style="padding: 0.5rem 1rem;" id="ai-stop-{{$JobID}}" |
|
|
|
class='ui basic ai_stop {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED" "SUCCEEDED" "STOPPED" "STOPPING"}}disabled {{else}} blue {{end}}button' |
|
|
|
data-repopath='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else if eq .JobType "BENCHMARK" }}/cloudbrain/benchmark{{else if eq .ComputeResource "NPU" }}/modelarts/notebook{{end}}/{{$JobID}}/stop' |
|
|
|
data-jobid="{{$JobID}}"> |
|
|
|
{{$.i18n.Tr "repo.stop"}} |
|
|
|
</a> |
|
|
|
</form> |
|
|
|
{{else}} |
|
|
|
<a style="padding: 0.5rem 1rem;" id="ai-stop-{{$JobID}}" class="ui basic ai_stop_version {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED" "SUCCEEDED" "STOPPED"}}disabled {{else}} blue {{end}}button" data-repopath="{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain/train-job{{else}}/modelarts/{{if eq .JobType "INFERENCE"}}inference-job{{else}}train-job{{end}}{{end}}" data-jobid="{{$JobID}}" data-version="{{.VersionName}}" > |
|
|
|
<a style="padding: 0.5rem 1rem;" id="ai-stop-{{$JobID}}" |
|
|
|
class="ui basic ai_stop_version {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED" "SUCCEEDED" "STOPPED"}}disabled {{else}} blue {{end}}button" |
|
|
|
data-repopath="{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain/train-job{{else}}/modelarts/{{if eq .JobType "INFERENCE"}}inference-job{{else}}train-job{{end}}{{end}}" |
|
|
|
data-jobid="{{$JobID}}" data-version="{{.VersionName}}"> |
|
|
|
{{$.i18n.Tr "repo.stop"}} |
|
|
|
</a> |
|
|
|
{{end}} |
|
|
|
</div> |
|
|
|
<!-- 删除任务 --> |
|
|
|
<form class="ui compact buttons" id="delForm-{{$JobID}}" action='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .JobType "BENCHMARK"}}/cloudbrain/benchmark{{else if or (eq .JobType "SNN4IMAGENET") (eq .JobType "BRAINSCORE")}}/cloudbrain{{else if eq .JobType "DEBUG"}}{{if eq .ComputeResource "NPU"}}/modelarts/notebook{{else}}/cloudbrain{{end}}{{else if eq .JobType "TRAIN"}}{{if eq .ComputeResource "NPU"}}/modelarts/notebook{{else}}/cloudbrain{{end}}/train-job{{end}}/{{$JobID}}/del?isadminpage=true' method="post"> |
|
|
|
<form class="ui compact buttons" id="delForm-{{$JobID}}" |
|
|
|
action='{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}{{if eq .JobType "BENCHMARK"}}/cloudbrain/benchmark{{else if or (eq .JobType "SNN4IMAGENET") (eq .JobType "BRAINSCORE")}}/cloudbrain{{else if eq .JobType "DEBUG"}}{{if eq .ComputeResource "NPU"}}/modelarts/notebook{{else}}/cloudbrain{{end}}{{else if eq .JobType "TRAIN"}}{{if eq .ComputeResource "NPU"}}/modelarts/notebook{{else}}/cloudbrain{{end}}/train-job{{end}}/{{$JobID}}/del?isadminpage=true' |
|
|
|
method="post"> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
<a style="padding: 0.5rem 1rem;margin-left:0.2rem" id="ai-delete-{{$JobID}}" data-repopath="{{.Repo.OwnerName}}/{{.Repo.Name}}/modelarts/inference-job/{{$JobID}}/del_version?isadminpage=true" data-version="" class="ui basic ai_delete blue button" style="border-radius: .28571429rem;"> |
|
|
|
<a style="padding: 0.5rem 1rem;margin-left:0.2rem" id="ai-delete-{{$JobID}}" |
|
|
|
data-repopath="{{.Repo.OwnerName}}/{{.Repo.Name}}/modelarts/inference-job/{{$JobID}}/del_version?isadminpage=true" |
|
|
|
data-version="" class="ui basic ai_delete blue button" |
|
|
|
style="border-radius: .28571429rem;"> |
|
|
|
{{$.i18n.Tr "repo.delete"}} |
|
|
|
</a> |
|
|
|
</form> |
|
|
|
@@ -185,19 +231,23 @@ |
|
|
|
<div class="two wide column nowrap"> |
|
|
|
{{if eq .JobType "DEBUG"}} |
|
|
|
<a class="title" href="" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{else if eq .JobType "INFERENCE"}} |
|
|
|
<a class="title" href="" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{else if eq .JobType "TRAIN"}} |
|
|
|
<a class="title" href="" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{else if eq .JobType "BENCHMARK"}} |
|
|
|
<a class="title" href="" title="{{.DisplayJobName}}" style="font-size: 14px;"> |
|
|
|
<span class="fitted" style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
<span class="fitted" |
|
|
|
style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span> |
|
|
|
</a> |
|
|
|
{{end}} |
|
|
|
</div> |
|
|
|
@@ -206,29 +256,38 @@ |
|
|
|
<span style="font-size: 12px;">{{.JobType}} </span> |
|
|
|
</div> |
|
|
|
<!-- 任务状态 --> |
|
|
|
<div class="two wide column text center nowrap" style="padding-left: 2.2rem !important; width: 10% !important;"> |
|
|
|
<span class="job-status" id="{{$JobID}}" data-jobid="{{$JobID}}" data-version="{{.VersionName}}"> |
|
|
|
<span><i id="{{$JobID}}-icon" style="vertical-align: middle;" class="{{.Status}}"></i><span id="{{$JobID}}-text" style="margin-left: 0.4em;font-size: 12px;">{{.Status}}</span></span> |
|
|
|
<div class="two wide column text center nowrap" |
|
|
|
style="padding-left: 2.2rem !important; width: 10% !important;"> |
|
|
|
<span class="job-status" id="{{$JobID}}" data-jobid="{{$JobID}}" |
|
|
|
data-version="{{.VersionName}}"> |
|
|
|
<span><i id="{{$JobID}}-icon" style="vertical-align: middle;" |
|
|
|
class="{{.Status}}"></i><span id="{{$JobID}}-text" |
|
|
|
style="margin-left: 0.4em;font-size: 12px;">{{.Status}}</span></span> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<!-- 任务创建时间 --> |
|
|
|
<div class="two wide column text center nowrap" style="width: 10% !important;"> |
|
|
|
<span style="font-size: 12px;" class="">{{TimeSinceUnix1 .Cloudbrain.CreatedUnix}}</span> |
|
|
|
<span style="font-size: 12px;" |
|
|
|
class="">{{TimeSinceUnix1 .Cloudbrain.CreatedUnix}}</span> |
|
|
|
</div> |
|
|
|
<!-- 任务运行时间 --> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span style="font-size: 12px;" id="duration-{{$JobID}}">{{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}}</span> |
|
|
|
<span style="font-size: 12px;" |
|
|
|
id="duration-{{$JobID}}">{{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}}</span> |
|
|
|
</div> |
|
|
|
<!-- 计算资源 --> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
<span style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span> |
|
|
|
<span |
|
|
|
style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span> |
|
|
|
</div> |
|
|
|
<!-- 创建者 --> |
|
|
|
<div class="one wide column text center nowrap"> |
|
|
|
{{if .User.Name}} |
|
|
|
<a href="{{AppSubUrl}}/{{.User.Name}}" title="{{.User.Name}}"><img class="ui avatar image" src="{{.User.RelAvatarLink}}"></a> |
|
|
|
<a href="{{AppSubUrl}}/{{.User.Name}}" title="{{.User.Name}}"><img |
|
|
|
class="ui avatar image" src="{{.User.RelAvatarLink}}"></a> |
|
|
|
{{else}} |
|
|
|
<a title="Ghost"><img class="ui avatar image" src="{{AppSubUrl}}/user/avatar/Ghost/-1"></a> |
|
|
|
<a title="Ghost"><img class="ui avatar image" |
|
|
|
src="{{AppSubUrl}}/user/avatar/Ghost/-1"></a> |
|
|
|
{{end}} |
|
|
|
</div> |
|
|
|
<!-- 项目 --> |
|
|
|
@@ -236,7 +295,8 @@ |
|
|
|
<a href="" title="">--</a> |
|
|
|
</div> |
|
|
|
<!-- 云脑侧名称 --> |
|
|
|
<div class="two wide column text center nowrap" style="overflow: hidden;text-overflow:ellipsis;"> |
|
|
|
<div class="two wide column text center nowrap" |
|
|
|
style="overflow: hidden;text-overflow:ellipsis;"> |
|
|
|
<span class="fitted">{{.JobName}}</span> |
|
|
|
</div> |
|
|
|
<div class="two wide column text center nowrap" style="width: 17.5%!important;"> |
|
|
|
@@ -245,11 +305,12 @@ |
|
|
|
<form id="debugAgainForm-{{$JobID}}"> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
{{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}} |
|
|
|
<a style="margin: 0 1rem;" id="ai-debug-{{$JobID}}" class='ui basic disabled button' > |
|
|
|
<a style="margin: 0 1rem;" id="ai-debug-{{$JobID}}" |
|
|
|
class='ui basic disabled button'> |
|
|
|
{{$.i18n.Tr "repo.debug"}} |
|
|
|
</a> |
|
|
|
{{else}} |
|
|
|
<a id="ai-debug-{{$JobID}}" class='ui basic disabled button' > |
|
|
|
<a id="ai-debug-{{$JobID}}" class='ui basic disabled button'> |
|
|
|
{{$.i18n.Tr "repo.debug_again"}} |
|
|
|
</a> |
|
|
|
{{end}} |
|
|
|
@@ -258,14 +319,17 @@ |
|
|
|
{{end}} |
|
|
|
<!-- 停止任务 --> |
|
|
|
<div class="ui compact buttons"> |
|
|
|
<a style="padding: 0.5rem 1rem;" id="ai-stop-{{$JobID}}" class="ui basic disabled button" data-jobid="{{$JobID}}" data-version="{{.VersionName}}" > |
|
|
|
<a style="padding: 0.5rem 1rem;" id="ai-stop-{{$JobID}}" |
|
|
|
class="ui basic disabled button" data-jobid="{{$JobID}}" |
|
|
|
data-version="{{.VersionName}}"> |
|
|
|
{{$.i18n.Tr "repo.stop"}} |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
<!-- 删除任务 --> |
|
|
|
<form class="ui compact buttons" id="delForm-{{$JobID}}" action='' method="post"> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
<a style="padding: 0.5rem 1rem;margin-left:0.2rem" id="ai-delete-{{$JobID}}" class="ui basic disabled button" style="border-radius: .28571429rem;"> |
|
|
|
<a style="padding: 0.5rem 1rem;margin-left:0.2rem" id="ai-delete-{{$JobID}}" |
|
|
|
class="ui basic disabled button" style="border-radius: .28571429rem;"> |
|
|
|
{{$.i18n.Tr "repo.delete"}} |
|
|
|
</a> |
|
|
|
</form> |
|
|
|
@@ -277,14 +341,9 @@ |
|
|
|
{{end}} |
|
|
|
<div id="app" style="margin-top: 2rem;"> |
|
|
|
<div class="center"> |
|
|
|
<el-pagination |
|
|
|
background |
|
|
|
@current-change="handleCurrentChange" |
|
|
|
:current-page="page" |
|
|
|
:page-sizes="[10]" |
|
|
|
:page-size="10" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
:total="{{.Page.Paginater.Total}}"> |
|
|
|
<el-pagination background @current-change="handleCurrentChange" :current-page="page" |
|
|
|
:page-sizes="[10]" :page-size="10" layout="total, sizes, prev, pager, next, jumper" |
|
|
|
:total="{{.Page.Paginater.Total}}"> |
|
|
|
</el-pagination> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|