同步返回错误

This commit is contained in:
苏尹岚
2019-11-20 10:49:19 +08:00
parent 0e481ffe72
commit 82ac23ab0a
7 changed files with 115 additions and 18 deletions

View File

@@ -63,9 +63,18 @@ type ITask interface {
// GetDetailErrList() []error
GetLeafResult() (finishedItemCount, failedItemCount int)
AddBatchErr(err error)
AddErrMsg(failedList []*ErrMsg)
GetErrMsg() (failedList []*ErrMsg)
json.Marshaler
}
type ErrMsg struct {
SkuID int
VendorSkuID string
StoreID int
Status int
VendorPrice int64
Err string
}
// type TaskError struct {
// name string
@@ -128,6 +137,7 @@ type BaseTask struct {
ctx *jxcontext.Context
isGetResultCalled bool
FailedList []*ErrMsg
}
func (s TaskList) Len() int {
@@ -355,6 +365,24 @@ func (t *BaseTask) Error() (errMsg string) {
return errMsg
}
func (t *BaseTask) GetErrMsg() (failedList []*ErrMsg) {
if len(t.FailedList) == 0 {
return nil
}
if t.parent != nil {
for _, v := range t.FailedList {
failedList = append(failedList, v)
}
}
return failedList
}
func (t *BaseTask) AddErrMsg(failedList []*ErrMsg) {
t.locker.Lock()
defer t.locker.Unlock()
t.FailedList = append(t.FailedList, failedList...)
}
// func (t *BaseTask) GetDetailErrList() []error {
// t.locker.RLock()
// defer t.locker.RUnlock()
@@ -411,7 +439,7 @@ func (t *BaseTask) run(taskHandler func()) {
task.TerminatedAt = time.Now()
task.locker.Unlock()
task.Error()
task.GetErrMsg()
globals.SugarLogger.Debugf("Task:%s, mainErr:%v, batchErrList:%v", task.Name, task.mainErr, task.batchErrList)
select {