Files
go-migrate/cmd/go_migrate/job-error-handler.go

34 lines
457 B
Go

package main
import (
"fmt"
log "github.com/sirupsen/logrus"
)
type JobError struct {
ShouldCancelJob bool
Msg string
Prev error
}
func (e *JobError) Error() string {
if e.Prev != nil {
return fmt.Sprintf("%s: %v", e.Msg, e.Prev)
}
return e.Msg
}
func jobErrorHandler(chErrorsIn <-chan JobError) error {
for err := range chErrorsIn {
if err.ShouldCancelJob {
return &err
}
log.Error(err)
}
return nil
}