- RebindAllPrinters中改用NewParallelTask

This commit is contained in:
gazebo
2019-09-01 10:06:28 +08:00
parent bb69051742
commit 51727df4de

View File

@@ -153,9 +153,9 @@ func RebindAllPrinters(ctx *jxcontext.Context, isForce, isAsync bool) (hint stri
globals.SugarLogger.Debugf("RebindAllPrinters len(needRebindList):%d", len(needRebindList))
if len(needRebindList) > 0 {
db := dao.GetDB()
task := tasksch.NewSeqTask("RebindAllPrinters", ctx,
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
store := needRebindList[step]
task := tasksch.NewParallelTask("RebindAllPrinters", tasksch.NewParallelConfig().SetIsContinueWhenError(true).SetParallelCount(4), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
store := batchItemList[0].(*model.Store)
if handler := partner.GetPrinterPlatformFromVendorID(store.PrinterVendorID); handler != nil {
bindResult, err2 := handler.RebindPrinter(ctx, bindResultMap[store.ID])
globals.SugarLogger.Debugf("RebindAllPrinters storeID:%d, result:%s, err:%v", store.ID, utils.Format4Output(bindResult, true), err2)
@@ -164,14 +164,14 @@ func RebindAllPrinters(ctx *jxcontext.Context, isForce, isAsync bool) (hint stri
store.PrinterKey = bindResult.PrinterKey
store.PrinterBindInfo = string(utils.MustMarshal(bindResult))
if _, err = dao.UpdateEntity(db, store); err == nil {
result = []int{1}
retVal = []int{1}
}
}
} else {
globals.SugarLogger.Warnf("RebindAllPrinters strange PrinterVendorID:%d", store.PrinterVendorID)
}
return result, err
}, len(needRebindList))
return retVal, err
}, needRebindList)
tasksch.ManageTask(task).Run()
if !isAsync {