improve frontend jobid display

This commit is contained in:
Rongsong Shen 2026-05-07 02:36:24 +00:00
parent 3ed7ef011a
commit d6008ead99
6 changed files with 305 additions and 41 deletions

View file

@ -4,6 +4,7 @@ import (
"encoding/json"
"fmt"
"strings"
"xcecli/common/format"
"xcecli/common/request"
"xcecli/config"
"xcecli/models"
@ -47,8 +48,15 @@ func (c *JobController) RunJobsControl() error {
// control jobs by job IDs
func (c *JobController) controlJobsByIDs(apiClient *request.APIClient, token string, certPath string) error {
jobIDsStr := strings.Join(c.jobIDs, ",")
url := fmt.Sprintf("/xce/v1/jobs/%s/control", jobIDsStr)
apiIDs := make([]string, 0, len(c.jobIDs))
for _, id := range c.jobIDs {
apiID, err := format.ToAPIJobID(strings.TrimSpace(id))
if err != nil {
return fmt.Errorf("invalid job ID %q: %w", id, err)
}
apiIDs = append(apiIDs, apiID)
}
url := fmt.Sprintf("/xce/v1/jobs/%s/control", strings.Join(apiIDs, ","))
req := models.JobControlJobIDRequest{
Action: c.action,
@ -88,19 +96,11 @@ func (c *JobController) printJobControlResponse(req interface{}, apiClient *requ
return err
}
for _, data := range resp.Data.Accepted {
if data.ArrayIdx != 0 {
fmt.Printf("job <%d[%d]> %s\n", data.JobID, data.ArrayIdx, strings.TrimPrefix(data.Msg, "job "))
} else {
fmt.Printf("job <%d> %s\n", data.JobID, strings.TrimPrefix(data.Msg, "job "))
}
fmt.Printf("job <%s> %s\n", format.FormatArrayChildID(data.JobID, data.ArrayIdx), strings.TrimPrefix(data.Msg, "job "))
}
for _, data := range resp.Data.Failed {
if data.ArrayIdx != 0 {
fmt.Printf("job <%d[%d]> %s\n", data.JobID, data.ArrayIdx, strings.TrimPrefix(data.Msg, "job "))
} else {
fmt.Printf("job <%d> %s\n", data.JobID, strings.TrimPrefix(data.Msg, "job "))
}
fmt.Printf("job <%s> %s\n", format.FormatArrayChildID(data.JobID, data.ArrayIdx), strings.TrimPrefix(data.Msg, "job "))
}
return nil
}