diff --git a/main.go b/main.go index acba1a2..1d3b3be 100644 --- a/main.go +++ b/main.go @@ -144,7 +144,7 @@ func imain() { //开启定时任务,生产维护工单 go task.CreateTask() //返修打印 - go task.CreateRecPrintTask() + go task.CreateRecPrintTaskTick() //启动监听端口 app.Run(iris.Addr(":9005"), iris.WithConfiguration(conf.C)) //app.Run(iris.Addr(":8097"), iris.WithConfiguration(conf.C)) diff --git a/task/printer.go b/task/printer.go index 9ef1f18..97ddcb6 100644 --- a/task/printer.go +++ b/task/printer.go @@ -13,40 +13,50 @@ var recChan = make(chan qmmodel.ReclinerReclst, 100) //定义一个调度任务 var printNum = 50 +func CreateRecPrintTaskTick() { + tick := time.Tick(1 * time.Second) + for { + select { + case <-tick: + CreateRecPrintTask() + } + } +} + /****查询要打印的任务**********/ func CreateRecPrintTask() { - for { - //创建继承Baxkground的子节点Context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - go doTaskPrintRec(ctx) - data := make([]qmmodel.ReclinerReclst, 0) - recList := make([]int, 0) - //第一步,查询要打印的数据 - var serviceOfRec = qmsvr.NewReclinerReclstService() + //创建继承Baxkground的子节点Context + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + go doTaskPrintRec(ctx) - data, err := serviceOfRec.SelectUnPrint(printNum) - if err != nil { - glog.InfoExtln("返修打印错误日志","err:",err) - return - } - //锁定 - for _, v := range data { - recList = append(recList, v.RecNr) - } - err = serviceOfRec.UpdateUnPrint(recList) - if err != nil { - glog.InfoExtln("返修打印错误日志","err:",err) - time.Sleep(1 * time.Second) - continue - } - //第二步,把所有的服务调度放到channel - for _, v := range data { - recChan <- v - } - time.Sleep(1 * time.Second) + data := make([]qmmodel.ReclinerReclst, 0) + recList := make([]int, 0) + //第一步,查询要打印的数据 + var serviceOfRec = qmsvr.NewReclinerReclstService() + data, err := serviceOfRec.SelectUnPrint(printNum) + if err != nil { + glog.InfoExtln("返修错误", "err:", err) + return + } + if len(data) == 0 { + return } + //锁定 + for _, v := range data { + recList = append(recList, v.RecNr) + } + err = serviceOfRec.UpdateUnPrint(recList) + if err != nil { + glog.InfoExtln("返修错误", "err:", err) + return + } + //第二步,把所有的服务调度放到channel + for _, v := range data { + recChan <- v + } + } /********打印逻辑************/