feat: update producer
This commit is contained in:
@@ -9,10 +9,10 @@ package delay
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"git.zhangdeman.cn/zhangdeman/serialize"
|
||||
"github.com/redis/go-redis/v9"
|
||||
)
|
||||
|
||||
@@ -33,21 +33,28 @@ type redisConsumer struct {
|
||||
cfg *ConsumerConfig
|
||||
}
|
||||
|
||||
func (r *redisConsumer) Consume(ctx context.Context) ([]*ZRangeData, error) {
|
||||
func (r *redisConsumer) Consume(ctx context.Context) ([]*ProduceData, error) {
|
||||
if nil == ctx {
|
||||
ctx = context.Background()
|
||||
}
|
||||
zRangeResult := r.redisInstance.ZRange(ctx, r.cfg.QueueName, 0, time.Now().UnixNano()/1e6)
|
||||
if err := zRangeResult.Err(); nil != err {
|
||||
return make([]*ZRangeData, 0), err
|
||||
return make([]*ProduceData, 0), err
|
||||
}
|
||||
// 格式化数据
|
||||
var (
|
||||
result []*ZRangeData
|
||||
result []*ProduceData
|
||||
)
|
||||
if err := json.Unmarshal([]byte(zRangeResult.String()), &result); nil != err {
|
||||
return make([]*ZRangeData, 0), err
|
||||
valueList := zRangeResult.Val()
|
||||
if len(valueList) == 0 {
|
||||
return result, nil
|
||||
}
|
||||
for _, item := range valueList {
|
||||
d := &ProduceData{}
|
||||
serialize.JSON.UnmarshalWithNumberForStringIgnoreError(item, d)
|
||||
result = append(result, d)
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
@@ -56,7 +63,7 @@ func (r *redisConsumer) ConsumeWithHandler(ctx context.Context, handler IHandler
|
||||
return errors.New("handler instance is nil")
|
||||
}
|
||||
var (
|
||||
msgList []*ZRangeData
|
||||
msgList []*ProduceData
|
||||
err error
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user