github.com/pachyderm/pachyderm@v1.13.4/src/server/pps/pps.go (about) 1 package pps 2 3 import ( 4 "fmt" 5 "regexp" 6 7 "github.com/pachyderm/pachyderm/src/client/pkg/grpcutil" 8 "github.com/pachyderm/pachyderm/src/client/pps" 9 ) 10 11 // ErrJobFinished represents a finished job error. 12 type ErrJobFinished struct { 13 Job *pps.Job 14 } 15 16 func (e ErrJobFinished) Error() string { 17 return fmt.Sprintf("job %v has already finished", e.Job.ID) 18 } 19 20 var ( 21 jobFinishedRe = regexp.MustCompile("job [^ ]+ has already finished") 22 ) 23 24 // IsJobFinishedErr returns true if 'err' has an error message that matches ErrJobFinished 25 func IsJobFinishedErr(err error) bool { 26 if err == nil { 27 return false 28 } 29 return jobFinishedRe.MatchString(grpcutil.ScrubGRPC(err).Error()) 30 }