#2336 fix-2026

Merged
lewis merged 3 commits from fix-2026 into V20220616.patch 1 year ago
  1. +41
    -0
      models/cloudbrain.go
  2. +2
    -2
      models/cloudbrain_static.go
  3. +14
    -7
      routers/api/v1/repo/cloudbrain_dashboard.go

+ 41
- 0
models/cloudbrain.go View File

@@ -1795,3 +1795,44 @@ func CloudbrainAll(opts *CloudbrainsOptions) ([]*CloudbrainInfo, int64, error) {

return cloudbrains, count, nil
}
func CloudbrainAllStatic(opts *CloudbrainsOptions) ([]*CloudbrainInfo, int64, error) {
sess := x.NewSession()
defer sess.Close()

var cond = builder.NewCond()

if (opts.Type) >= 0 {
cond = cond.And(
builder.Eq{"cloudbrain.type": opts.Type},
)
}
if opts.BeginTimeUnix > 0 && opts.EndTimeUnix > 0 {
cond = cond.And(
builder.And(builder.Gte{"cloudbrain.created_unix": opts.BeginTimeUnix}, builder.Lte{"cloudbrain.created_unix": opts.EndTimeUnix}),
)
}
var count int64
var err error
count, err = sess.Unscoped().Where(cond).Count(new(Cloudbrain))

if err != nil {
return nil, 0, fmt.Errorf("Count: %v", err)
}

if opts.Page >= 0 && opts.PageSize > 0 {
var start int
if opts.Page == 0 {
start = 0
} else {
start = (opts.Page - 1) * opts.PageSize
}
sess.Limit(opts.PageSize, start)
}
sess.OrderBy("cloudbrain.created_unix DESC")
cloudbrains := make([]*CloudbrainInfo, 0, setting.UI.IssuePagingNum)
if err := sess.Cols("status", "type", "job_type", "train_job_duration", "duration", "compute_resource", "created_unix", "start_time", "end_time").Table(&Cloudbrain{}).Unscoped().Where(cond).
Find(&cloudbrains); err != nil {
return nil, 0, fmt.Errorf("Find: %v", err)
}
return cloudbrains, count, nil
}

+ 2
- 2
models/cloudbrain_static.go View File

@@ -213,7 +213,7 @@ func GetWaittingTop() ([]*CloudbrainInfo, error) {
cond = cond.And(
builder.Eq{"cloudbrain.status": string(JobWaiting)},
)
sess.OrderBy("(cloudbrain.start_time-cloudbrain.created_unix) DESC limit 10")
sess.OrderBy("cloudbrain.created_unix ASC limit 10")
cloudbrains := make([]*CloudbrainInfo, 0, 10)
if err := sess.Table(&Cloudbrain{}).Where(cond).
Find(&cloudbrains); err != nil {
@@ -228,7 +228,7 @@ func GetRunningTop() ([]*CloudbrainInfo, error) {
cond = cond.And(
builder.Eq{"cloudbrain.status": string(JobRunning)},
)
sess.OrderBy("(cloudbrain.end_time-cloudbrain.start_time) DESC limit 10")
sess.OrderBy("cloudbrain.duration DESC limit 10")
cloudbrains := make([]*CloudbrainInfo, 0, 10)
if err := sess.Table(&Cloudbrain{}).Where(cond).
Find(&cloudbrains); err != nil {


+ 14
- 7
routers/api/v1/repo/cloudbrain_dashboard.go View File

@@ -67,7 +67,7 @@ func GetAllCloudbrainsOverview(ctx *context.Context) {
pagesize := 1000
count := pagesize
for count == pagesize && count != 0 {
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
ListOptions: models.ListOptions{
Page: page,
PageSize: pagesize,
@@ -121,6 +121,13 @@ func GetAllCloudbrainsOverview(ctx *context.Context) {
}
}

cloudBrainTypeList := []int{0, 1, 2}
for _, v := range cloudBrainTypeList {
if _, ok := cloudBrainNum[v]; !ok {
cloudBrainNum[v] = 0
}
}

todayRunningCount := todayStatusResult[string(models.JobRunning)]
todayCompletedCount := todayStatusResult[string(models.ModelArtsTrainJobCompleted)] + todayStatusResult[string(models.JobFailed)] +
todayStatusResult[string(models.ModelArtsStartFailed)] + todayStatusResult[string(models.JobStopped)] + todayStatusResult[string(models.JobSucceeded)] + todayStatusResult[string(models.ModelArtsTrainJobKilled)]
@@ -504,7 +511,7 @@ func GetAllCloudbrainsPeriodDistribution(ctx *context.Context) {
count := pagesize
//Each time a maximum of 1000 pieces of data are detected to the memory, batch processing
for count == pagesize && count != 0 {
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
ListOptions: models.ListOptions{
Page: page,
PageSize: pagesize,
@@ -613,7 +620,7 @@ func GetCloudbrainsStatusAnalysis(ctx *context.Context) {
pagesize := 1000
count := pagesize
for count == pagesize && count != 0 {
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
ListOptions: models.ListOptions{
Page: page,
PageSize: pagesize,
@@ -1021,7 +1028,7 @@ func getCloudbrainCount(beginTime time.Time, endTime time.Time, cloudbrains []*m
func getDayCloudbrainNum(beginTime time.Time, endTime time.Time) ([]DateCloudbrainNum, error) {
var endTimeTemp time.Time
endTimeTemp = beginTime.AddDate(0, 0, 1)
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
Type: models.TypeCloudBrainAll,
BeginTimeUnix: beginTime.Unix(),
EndTimeUnix: endTime.Unix(),
@@ -1057,7 +1064,7 @@ func getMonthCloudbrainNum(beginTime time.Time, endTime time.Time) ([]DateCloudb
endTimeTemp = beginTime.AddDate(0, 1, 0)
endTimeTemp = time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location())
monthCloudbrainNum := make([]DateCloudbrainNum, 0)
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
Type: models.TypeCloudBrainAll,
BeginTimeUnix: beginTime.Unix(),
EndTimeUnix: endTime.Unix(),
@@ -1093,7 +1100,7 @@ func getDayCloudbrainInfo(beginTime time.Time, endTime time.Time) ([]DateCloudbr
if endTimeTemp.Equal(endTime) {
endTimeTemp = endTimeTemp.AddDate(0, 0, -1)
}
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
Type: models.TypeCloudBrainAll,
BeginTimeUnix: beginTime.Unix(),
EndTimeUnix: endTime.Unix(),
@@ -1124,7 +1131,7 @@ func getMonthCloudbrainInfo(beginTime time.Time, endTime time.Time) ([]DateCloud
if endTimeTemp.Equal(endTime) {
endTimeTemp = endTimeTemp.AddDate(0, -1, 0)
}
cloudbrains, _, err := models.CloudbrainAll(&models.CloudbrainsOptions{
cloudbrains, _, err := models.CloudbrainAllStatic(&models.CloudbrainsOptions{
Type: models.TypeCloudBrainAll,
BeginTimeUnix: beginTime.Unix(),
EndTimeUnix: endTime.Unix(),


Loading…
Cancel
Save