12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package timemachine
- import (
- "time"
- "go-common/app/interface/main/activity/conf"
- "go-common/library/cache/memcache"
- "go-common/library/sync/pipeline/fanout"
- "go-common/library/database/hbase.v2"
- )
- // Dao .
- type Dao struct {
- c *conf.Config
- hbase *hbase.Client
- mc *memcache.Pool
- cache *fanout.Fanout
- //limiter *rate.Limiter
- mcTmExpire int32
- //tmProcStart int64
- //tmProcStop int64
- }
- // New .
- func New(c *conf.Config) (d *Dao) {
- d = &Dao{
- c: c,
- hbase: hbase.NewClient(c.Hbase),
- mc: memcache.NewPool(c.TimeMc.Timemachine),
- cache: fanout.New("timemachine", fanout.Worker(8), fanout.Buffer(10240)),
- }
- d.mcTmExpire = int32(time.Duration(c.TimeMc.TmExpire) / time.Second)
- //d.limiter = rate.NewLimiter(1000, 100)
- //go d.startTmproc(context.Background())
- return d
- }
- // StartTmproc start time machine proc
- //func (d *Dao) startTmproc(c context.Context) {
- // if env.DeployEnv != env.DeployEnvPre {
- // return
- // }
- // for {
- // time.Sleep(time.Second)
- // if d.tmProcStart != 0 {
- // go func() {
- // // scan key
- // max := 10000000000
- // step := max / 10000
- // prefix := step - 1
- // for i := 0; i < max; i += step {
- // time.Sleep(10 * time.Millisecond)
- // startRow := fmt.Sprintf("%0*d", 10, i)
- // endRow := fmt.Sprintf("%0*d", 10, i+prefix)
- // if err := d.timemachineScan(c, startRow, endRow); err != nil {
- // log.Error("startTmproc timemachineScan startRow(%s) endRow(%s) error(%v)", startRow, endRow, err)
- // continue
- // }
- // log.Info("startTmproc finish startRow(%s) endRow(%s)", startRow, endRow)
- // }
- // }()
- // break
- // }
- // }
- //}
- // StartTmProc start time machine proc.
- //func (d *Dao) StartTmProc(c context.Context) {
- // atomic.StoreInt64(&d.tmProcStart, 1)
- //}
- // StopTmproc stop time machine proc.
- //func (d *Dao) StopTmproc(c context.Context) {
- // atomic.StoreInt64(&d.tmProcStop, 1)
- //}
|