@@ -100,13 +100,13 @@ func JobListV2(c echo.Context, filterJobType DtleJobType) error {
100100 return c .JSON (http .StatusInternalServerError , models .BuildBaseResp (fmt .Errorf ("consul_addr=%v ; get job status list failed: %v" , handler .ConsulAddr , err )))
101101 }
102102 logger .Info ("invoke consul find job list finished" )
103- nomadJobMap , err := findJobsFromNomad ()
103+ nomadJobs , err := findJobsFromNomad ()
104104 if err != nil {
105105 return c .JSON (http .StatusInternalServerError , models .BuildBaseResp (fmt .Errorf ("find job err %v" , err )))
106106 }
107107 logger .Info ("invoke nomad find job list finished" )
108108 jobs := make ([]common.JobListItemV2 , 0 )
109- for _ , nomadItem := range nomadJobMap {
109+ for _ , nomadItem := range nomadJobs {
110110 consulJob , ok := jobList [nomadItem .Name ]
111111 if ! ok {
112112 // tenant administrators can view job
@@ -135,7 +135,9 @@ func JobListV2(c echo.Context, filterJobType DtleJobType) error {
135135 SrcDatabaseType : consulJob .SrcDatabaseType ,
136136 AllocationStatus : map [string ]string {},
137137 }
138- jobItem .JobStatus = nomadItem .Status
138+ if consulJob .JobStatus == "" || consulJob .JobStatus == common .DtleJobStatusNonPaused {
139+ jobItem .JobStatus = nomadItem .Status
140+ }
139141 if reqParam .FilterJobStatus != "" && reqParam .FilterJobStatus != jobItem .JobStatus {
140142 continue
141143 }
@@ -189,7 +191,19 @@ func filterJobAddr(addrList []string, filterHost, filterPort string) bool {
189191 return false
190192}
191193
192- func findJobsFromNomad () (map [string ]nomadApi.JobListStub , error ) {
194+ func findJobMapFromNomad () (map [string ]nomadApi.JobListStub , error ) {
195+ nomadJobs ,err := findJobsFromNomad ()
196+ if err != nil {
197+ return nil , err
198+ }
199+ nomadJobMap := make (map [string ]nomadApi.JobListStub , 0 )
200+ for _ , nomadJob := range nomadJobs {
201+ nomadJobMap [nomadJob .ID ] = nomadJob
202+ }
203+ return nomadJobMap , nil
204+ }
205+
206+ func findJobsFromNomad () ([]nomadApi.JobListStub , error ) {
193207 url := handler .BuildUrl ("/v1/jobs" )
194208 resp , err := http .Get (url )
195209 if err != nil {
@@ -206,11 +220,7 @@ func findJobsFromNomad() (map[string]nomadApi.JobListStub, error) {
206220 return nil , err
207221 }
208222
209- nomadJobMap := make (map [string ]nomadApi.JobListStub , 0 )
210- for _ , nomadJob := range nomadJobs {
211- nomadJobMap [nomadJob .ID ] = nomadJob
212- }
213- return nomadJobMap , nil
223+ return nomadJobs , nil
214224}
215225
216226type DtleJobType string
@@ -768,7 +778,7 @@ func buildBasicTaskProfile(logger g.LoggerType, jobId string, srcTaskDetail *mod
768778 Delay : 0 ,
769779 }
770780
771- nomadJobMap , err := findJobsFromNomad ()
781+ nomadJobMap , err := findJobMapFromNomad ()
772782 if err != nil {
773783 return models.BasicTaskProfile {}, nil , fmt .Errorf ("find nomad job list err %v" , err )
774784 }
0 commit comments