123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package dao
- import (
- "context"
- "strconv"
- "time"
- "go-common/library/log"
- )
- // PubBigData pub msg into databus.
- func (d *Dao) PubBigData(c context.Context, aid int64, msg interface{}) (err error) {
- key := strconv.FormatInt(aid, 10)
- if err = d.dbBigData.Send(c, key, msg); err != nil {
- log.Error("dbBigData.Pub(%s, %v) error (%v)", key, msg, err)
- PromError("dbus:PubBigData")
- }
- return
- }
- // PubCoinJob pub job msg into databus.
- func (d *Dao) PubCoinJob(c context.Context, aid int64, msg interface{}) (err error) {
- key := strconv.FormatInt(aid, 10)
- for i := 0; i < 3; i++ {
- if err = d.dbCoinJob.Send(c, key, msg); err != nil {
- log.Error("d.dbCoinJob.Pub(%s, %v) error (%v) times: %v", key, msg, err, i+1)
- PromError("dbus:PubCoinJob")
- time.Sleep(time.Millisecond * 50)
- continue
- }
- break
- }
- return
- }
- // PubStat pub stat msg into databus.
- func (d *Dao) PubStat(c context.Context, aid, tp, count int64) (err error) {
- var s = &struct {
- Type string `json:"type"`
- ID int64 `json:"id"`
- Count int64 `json:"count"`
- Timestamp int64 `json:"timestamp"`
- }{
- ID: aid,
- Count: count,
- Timestamp: time.Now().Unix(),
- }
- // double write new databus.
- if b, ok := d.Businesses[tp]; ok {
- s.Type = b.Name
- if err = d.stat.Send(c, strconv.FormatInt(aid, 10), s); err != nil {
- log.Error("d.stat.Pub(%+v) error(%v)", s, err)
- PromError("dbus:stat")
- }
- }
- return
- }
|