From 51727df4dee628ea00f1996c269985db853df61d Mon Sep 17 00:00:00 2001 From: gazebo Date: Sun, 1 Sep 2019 10:06:28 +0800 Subject: [PATCH] =?UTF-8?q?-=20RebindAllPrinters=E4=B8=AD=E6=94=B9?= =?UTF-8?q?=E7=94=A8NewParallelTask?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/netprinter/netprinter.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/business/jxutils/netprinter/netprinter.go b/business/jxutils/netprinter/netprinter.go index 83bc6e3af..8e56bad09 100644 --- a/business/jxutils/netprinter/netprinter.go +++ b/business/jxutils/netprinter/netprinter.go @@ -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 {