123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package service
- // import (
- // "context"
- // "sync"
- // "time"
- // "go-common/library/log"
- // )
- // func (s *Service) initialproc(ctx context.Context) {
- // dataWg := sync.WaitGroup{}
- // workerWg := sync.WaitGroup{}
- // jobQueue := make(chan func(), 4096)
- // initialWorker := func() {
- // worker := uint64(50)
- // if s.c.AccountSummary.InitialWriteWorker > 0 {
- // worker = s.c.AccountSummary.InitialWriteWorker
- // }
- // log.Info("Start %d initial write worker", worker)
- // for i := uint64(0); i < worker; i++ {
- // workerWg.Add(1)
- // go func() {
- // defer workerWg.Done()
- // for job := range jobQueue {
- // job()
- // }
- // }()
- // }
- // }
- // initialWorker()
- // initBase := func() {
- // log.Info("Start to initial member base")
- // defer dataWg.Done()
- // baseCh := s.dao.AllMemberBase(ctx)
- // for chunk := range baseCh {
- // for _, b := range chunk {
- // b := b
- // jobQueue <- func() {
- // if err := s.SyncToHBase(ctx, b); err != nil {
- // log.Error("Failed to sync member base in initial process: base: %+v: %+v", b, err)
- // }
- // }
- // }
- // }
- // }
- // initExp := func() {
- // log.Info("Start to initial member exp")
- // defer dataWg.Done()
- // expCh := s.dao.AllMemberExp(ctx)
- // for chunk := range expCh {
- // for _, e := range chunk {
- // e := e
- // jobQueue <- func() {
- // if err := s.SyncToHBase(ctx, e); err != nil {
- // log.Error("Failed to sync member exp in initial process: exp: %+v: %+v", e, err)
- // }
- // }
- // }
- // time.Sleep(time.Second)
- // }
- // }
- // initOfficial := func() {
- // log.Info("Start to initial member official")
- // defer dataWg.Done()
- // official, err := s.dao.AllOfficial(ctx)
- // if err != nil {
- // log.Error("Failed to get all member official: %+v", err)
- // return
- // }
- // for _, o := range official {
- // o := o
- // jobQueue <- func() {
- // if err := s.SyncToHBase(ctx, o); err != nil {
- // log.Error("Failed to sync member official in initial process: official: %+v: %+v", o, err)
- // }
- // }
- // }
- // }
- // initStat := func() {
- // log.Info("Start to initial relation stat")
- // defer dataWg.Done()
- // statsCh := s.dao.AllRelationStat(ctx)
- // for chunk := range statsCh {
- // for _, stat := range chunk {
- // stat := stat
- // jobQueue <- func() {
- // if err := s.SyncToHBase(ctx, stat); err != nil {
- // log.Error("Failed to sync relation stat in initial process: stat: %+v: %+v", stat, err)
- // }
- // }
- // }
- // time.Sleep(time.Second)
- // }
- // }
- // if s.c.FeatureGate.InitialMemberBase {
- // dataWg.Add(1)
- // go initBase()
- // }
- // if s.c.FeatureGate.InitialMemberExp {
- // dataWg.Add(1)
- // go initExp()
- // }
- // if s.c.FeatureGate.InitialMemberOfficial {
- // dataWg.Add(1)
- // go initOfficial()
- // }
- // if s.c.FeatureGate.InitialRelationStat {
- // dataWg.Add(1)
- // go initStat()
- // }
- // dataWg.Wait()
- // close(jobQueue) // all job is enqueued
- // workerWg.Wait()
- // }
|