package paopaoqueue import ( "context" "encoding/json" "git.banshen.xyz/huangguangrong/paopaoqueue/types" "github.com/zeromicro/go-queue/kq" ) type TweetTransferClient interface { Push(msg *types.MsgTweetData) error } type tweetTransferClient struct { pusher *kq.Pusher } func NewTweetTransferClient(addr []string, topic string, opts ...kq.Pusher) TweetTransferClient { return &tweetTransferClient{pusher: kq.NewPusher(addr, topic)} } func (m *tweetTransferClient) Push(msg *types.MsgTweetData) error { data, err := json.Marshal(msg) if err != nil { return err } return m.pusher.Push(context.Background(), string(data)) }