fix job array display issue
This commit is contained in:
parent
d9b5c361c2
commit
960ef62342
5 changed files with 290 additions and 15 deletions
|
|
@ -1192,8 +1192,8 @@ func (j JobController) RestartJobByID(ctx *gin.Context) {
|
|||
// Use a concrete type for job
|
||||
newJob := models.JobInfo{
|
||||
Unique_JobID: int64(jobID),
|
||||
JobID: int64(jobID),
|
||||
ArrayIdx: 0,
|
||||
JobID: int64(backend.ExtractArrayBaseID(jobID)),
|
||||
ArrayIdx: backend.ExtractArrayIdx(jobID),
|
||||
SubmitUser: restarter,
|
||||
JobStatus: models.JOBSTAT["PEND"],
|
||||
}
|
||||
|
|
@ -1453,7 +1453,8 @@ func (j JobController) CreateJob(ctx *gin.Context) {
|
|||
// Build the single JobInfo to submit
|
||||
job := models.JobInfo{
|
||||
Unique_JobID: primaryJobID,
|
||||
JobID: primaryJobID,
|
||||
JobID: int64(backend.ExtractArrayBaseID(uint64(primaryJobID))),
|
||||
ArrayIdx: backend.ExtractArrayIdx(uint64(primaryJobID)),
|
||||
//SubmitTime: time.Now().Unix(), // backend will fill the submit time;
|
||||
SubmitUser: submitUser,
|
||||
JobStatus: models.JOBSTAT["PEND"], // new job is pend.
|
||||
|
|
@ -3097,12 +3098,20 @@ func processJobData(rows []utils.OrderMap, pagetoken string) utils.QueryResult {
|
|||
}
|
||||
}
|
||||
|
||||
// Update job_name if array_idx is not 0
|
||||
// Update job_name if this is an array job child (including idx=0)
|
||||
if jobName, exist := row.Data["job_name"]; exist {
|
||||
if arrayIdx, ok := row.Data["array_idx"].(int); ok && arrayIdx > 0 {
|
||||
row.Data["job_name"] = fmt.Sprintf("%s[%d]", jobName, arrayIdx)
|
||||
} else if arrayIdx64, ok := row.Data["array_idx"].(int64); ok && arrayIdx64 > 0 {
|
||||
row.Data["job_name"] = fmt.Sprintf("%s[%d]", jobName, arrayIdx64)
|
||||
// Use IsArrayJob to detect array children, which covers
|
||||
// the first child (idx=0) that the old array_idx > 0 check missed.
|
||||
var isArray bool
|
||||
if uid, ok := row.Data["unique_job_id"].(int64); ok {
|
||||
isArray = backend.IsArrayJob(uint64(uid))
|
||||
}
|
||||
if isArray {
|
||||
if arrayIdx, ok := row.Data["array_idx"].(int); ok {
|
||||
row.Data["job_name"] = fmt.Sprintf("%s[%d]", jobName, arrayIdx)
|
||||
} else if arrayIdx64, ok := row.Data["array_idx"].(int64); ok {
|
||||
row.Data["job_name"] = fmt.Sprintf("%s[%d]", jobName, arrayIdx64)
|
||||
}
|
||||
} else {
|
||||
row.Data["job_name"] = jobName
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue