| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package redis
- import (
- "fmt"
- "github.com/go-redis/redis/v8"
- "github.com/vmihailenco/msgpack"
- "sportfitness/base/assembly/heartRate/model"
- "time"
- )
- const hubBandDataChannel = "bsw:sport_fitness:hub_tcp_server:heart_rate"
- func GetHubBandData() (data []model.BandData, err error) {
- var resultTemp []string
- bt := time.Now()
- for i := 0; i < 500; i++ {
- if time.Now().Sub(bt) > time.Second*5 {
- return
- }
- resultTemp, err = getClient().BLPop(ctx, time.Second, hubBandDataChannel).Result()
- if err != nil {
- if err == redis.Nil {
- err = nil
- continue
- }
- return
- }
- if len(resultTemp) != 2 {
- err = fmt.Errorf("GetHubBandData: 接收长度错误 %d", len(resultTemp))
- return
- }
- one := model.BandData{}
- err = msgpack.Unmarshal([]byte(resultTemp[1]), &one)
- if err != nil {
- return
- }
- data = append(data, one)
- }
- return
- }
|