fix
This commit is contained in:
@@ -38,13 +38,27 @@ func ProcessIVYZ81NCRequest(ctx context.Context, params []byte, deps *processors
|
||||
},
|
||||
}
|
||||
|
||||
respBytes, err := deps.WestDexService.CallAPI(ctx, "G09XM02", reqData)
|
||||
if err != nil {
|
||||
if errors.Is(err, westdex.ErrDatasource) {
|
||||
return nil, errors.Join(processors.ErrDatasource, err)
|
||||
} else {
|
||||
const maxRetries = 5
|
||||
var respBytes []byte
|
||||
|
||||
for attempt := 0; attempt <= maxRetries; attempt++ {
|
||||
var err error
|
||||
respBytes, err = deps.WestDexService.CallAPI(ctx, "G09XM02", reqData)
|
||||
if err == nil {
|
||||
return respBytes, nil
|
||||
}
|
||||
|
||||
// 如果不是数据源异常,直接返回错误
|
||||
if !errors.Is(err, westdex.ErrDatasource) {
|
||||
return nil, errors.Join(processors.ErrSystem, err)
|
||||
}
|
||||
|
||||
// 如果是最后一次尝试,返回错误
|
||||
if attempt == maxRetries {
|
||||
return nil, errors.Join(processors.ErrDatasource, err)
|
||||
}
|
||||
|
||||
// 立即重试,不等待
|
||||
}
|
||||
|
||||
return respBytes, nil
|
||||
|
||||
Reference in New Issue
Block a user