package report import ( "context" "kingdee-dbapi/logger" "time" "kingdee-dbapi/config" ) var ctx context.Context var cancel context.CancelFunc func StartReport() { ctx, cancel = context.WithCancel(context.Background()) go Loop(ctx) } func RestartReport() { cancel() StartReport() } func Loop(c context.Context) { logger.Debug("启动数据上报任务") for { select { case <-c.Done(): logger.Debug("停止上报") return default: // 上报订单 SendOrder() // 上报即时库存 SendInventory() time.Sleep(time.Duration(config.Options.SyncInterval) * time.Second) } } }