+ FreeBatchStoreSkuInfo

This commit is contained in:
gazebo
2019-07-14 10:57:17 +08:00
parent 370f59793f
commit 35c9b7db58
2 changed files with 77 additions and 1 deletions

View File

@@ -100,3 +100,22 @@ func (p *DefSingleStorePlatform) GetStoreSkusBareInfo(ctx *jxcontext.Context, pa
}
return outStoreSkuList, err
}
func FreeBatchStoreSkuInfo(handler func([]*partner.StoreSkuInfo) (err error), ctx *jxcontext.Context, parentTask tasksch.ITask, storeSkuList []*partner.StoreSkuInfo, batchSize int) (err error) {
if len(storeSkuList) > batchSize {
task := tasksch.NewParallelTask("FreeBatchStoreSkuInfo", tasksch.NewParallelConfig().SetBatchSize(batchSize), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
batchStoreSkuList := make([]*partner.StoreSkuInfo, len(batchItemList))
for k, v := range batchItemList {
batchStoreSkuList[k] = v.(*partner.StoreSkuInfo)
}
err = handler(batchStoreSkuList)
return nil, err
}, storeSkuList)
tasksch.HandleTask(task, parentTask, false).Run()
_, err = task.GetResult(0)
} else {
err = handler(storeSkuList)
}
return err
}