正在显示
5 个修改的文件
包含
67 行增加
和
67 行删除
| @@ -6,7 +6,6 @@ import ( | @@ -6,7 +6,6 @@ import ( | ||
| 6 | "os/signal" | 6 | "os/signal" |
| 7 | "sync" | 7 | "sync" |
| 8 | "syscall" | 8 | "syscall" |
| 9 | - "time" | ||
| 10 | 9 | ||
| 11 | "github.com/astaxie/beego" | 10 | "github.com/astaxie/beego" |
| 12 | "github.com/astaxie/beego/logs" | 11 | "github.com/astaxie/beego/logs" |
| @@ -14,7 +13,6 @@ import ( | @@ -14,7 +13,6 @@ import ( | ||
| 14 | _ "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/log" | 13 | _ "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/log" |
| 15 | _ "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/port/beego" | 14 | _ "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/port/beego" |
| 16 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/port/consumer" | 15 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/port/consumer" |
| 17 | - "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/port/consumer/produce" | ||
| 18 | ) | 16 | ) |
| 19 | 17 | ||
| 20 | func main() { | 18 | func main() { |
| @@ -26,7 +24,7 @@ func main() { | @@ -26,7 +24,7 @@ func main() { | ||
| 26 | beego.Run() | 24 | beego.Run() |
| 27 | }() | 25 | }() |
| 28 | consumerRun := consumer.NewRuner() | 26 | consumerRun := consumer.NewRuner() |
| 29 | - logs.Debug("%+v", consumerRun) | 27 | + |
| 30 | if err := consumerRun.InitConsumer(); err != nil { | 28 | if err := consumerRun.InitConsumer(); err != nil { |
| 31 | logs.Error("启动kafka消息消费者失败:%s", err) | 29 | logs.Error("启动kafka消息消费者失败:%s", err) |
| 32 | } | 30 | } |
| @@ -40,12 +38,11 @@ func main() { | @@ -40,12 +38,11 @@ func main() { | ||
| 40 | <-consumerRun.IsReady() | 38 | <-consumerRun.IsReady() |
| 41 | logs.Info("Sarama consumer up and running!...") | 39 | logs.Info("Sarama consumer up and running!...") |
| 42 | }() | 40 | }() |
| 43 | - go func() { | ||
| 44 | - t := time.NewTimer(7 * time.Second) | ||
| 45 | - <-t.C | ||
| 46 | - err := produce.Producer() | ||
| 47 | - logs.Info("err:%s", err) | ||
| 48 | - }() | 41 | + // go func() { |
| 42 | + // t := time.NewTimer(7 * time.Second) | ||
| 43 | + // <-t.C | ||
| 44 | + // produce.Producer() | ||
| 45 | + // }() | ||
| 49 | for { | 46 | for { |
| 50 | select { | 47 | select { |
| 51 | case <-sigs: | 48 | case <-sigs: |
| @@ -18,8 +18,8 @@ type MessageConsumer struct { | @@ -18,8 +18,8 @@ type MessageConsumer struct { | ||
| 18 | groupId string | 18 | groupId string |
| 19 | topics []string | 19 | topics []string |
| 20 | topicsHandles map[string]TopicHandle | 20 | topicsHandles map[string]TopicHandle |
| 21 | - beforeHandles []TopicHandle | ||
| 22 | - afterHandles []TopicHandle | 21 | + // beforeHandles []TopicHandle |
| 22 | + // afterHandles []TopicHandle | ||
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | //实现对应的接口 | 25 | //实现对应的接口 |
| @@ -41,13 +41,8 @@ func (c *MessageConsumer) ConsumeClaim(groupSession sarama.ConsumerGroupSession, | @@ -41,13 +41,8 @@ func (c *MessageConsumer) ConsumeClaim(groupSession sarama.ConsumerGroupSession, | ||
| 41 | err error | 41 | err error |
| 42 | ) | 42 | ) |
| 43 | for message := range groupClaim.Messages() { | 43 | for message := range groupClaim.Messages() { |
| 44 | - | ||
| 45 | logs.Debug("Done Message claimed: timestamp = %v, topic = %s offset = %v value = %v \n", | 44 | logs.Debug("Done Message claimed: timestamp = %v, topic = %s offset = %v value = %v \n", |
| 46 | message.Timestamp, message.Topic, message.Offset, string(message.Value)) | 45 | message.Timestamp, message.Topic, message.Offset, string(message.Value)) |
| 47 | - for i := range c.beforeHandles { | ||
| 48 | - c.beforeHandles[i](message) | ||
| 49 | - } | ||
| 50 | - groupSession.MarkMessage(message, "") | ||
| 51 | if topicHandle, err = c.FindTopichandle(groupClaim.Topic()); err != nil { | 46 | if topicHandle, err = c.FindTopichandle(groupClaim.Topic()); err != nil { |
| 52 | logs.Error("FindTopichandle err:%s \n", err) | 47 | logs.Error("FindTopichandle err:%s \n", err) |
| 53 | continue | 48 | continue |
| @@ -55,9 +50,7 @@ func (c *MessageConsumer) ConsumeClaim(groupSession sarama.ConsumerGroupSession, | @@ -55,9 +50,7 @@ func (c *MessageConsumer) ConsumeClaim(groupSession sarama.ConsumerGroupSession, | ||
| 55 | if err = topicHandle(message); err != nil { | 50 | if err = topicHandle(message); err != nil { |
| 56 | logs.Error("Message claimed: kafka消息处理错误 topic =", message.Topic, message.Offset, err) | 51 | logs.Error("Message claimed: kafka消息处理错误 topic =", message.Topic, message.Offset, err) |
| 57 | } | 52 | } |
| 58 | - for i := range c.beforeHandles { | ||
| 59 | - c.afterHandles[i](message) | ||
| 60 | - } | 53 | + groupSession.MarkMessage(message, "") |
| 61 | } | 54 | } |
| 62 | return nil | 55 | return nil |
| 63 | } | 56 | } |
| @@ -79,18 +72,20 @@ func NewRuner() *Runer { | @@ -79,18 +72,20 @@ func NewRuner() *Runer { | ||
| 79 | for key := range TopicHandleRouters { | 72 | for key := range TopicHandleRouters { |
| 80 | topics = append(topics, key) | 73 | topics = append(topics, key) |
| 81 | } | 74 | } |
| 82 | - | ||
| 83 | - return &Runer{ | 75 | + r := &Runer{ |
| 84 | msgConsumer: &MessageConsumer{ | 76 | msgConsumer: &MessageConsumer{ |
| 85 | ready: make(chan struct{}), | 77 | ready: make(chan struct{}), |
| 86 | kafkaHosts: configs.Cfg.Servers, | 78 | kafkaHosts: configs.Cfg.Servers, |
| 87 | groupId: configs.Cfg.ConsumerId, | 79 | groupId: configs.Cfg.ConsumerId, |
| 88 | topicsHandles: TopicHandleRouters, | 80 | topicsHandles: TopicHandleRouters, |
| 89 | topics: topics, | 81 | topics: topics, |
| 90 | - beforeHandles: BeforeHandles, | ||
| 91 | - afterHandles: AfterHandles, | 82 | + // beforeHandles: BeforeHandles, |
| 83 | + // afterHandles: AfterHandles, | ||
| 92 | }, | 84 | }, |
| 93 | } | 85 | } |
| 86 | + logs.Debug("kafka_host=%v; topic=%v;groupid=%s ", r.msgConsumer.kafkaHosts, | ||
| 87 | + r.msgConsumer.topics, r.msgConsumer.groupId) | ||
| 88 | + return r | ||
| 94 | } | 89 | } |
| 95 | 90 | ||
| 96 | func (r *Runer) InitConsumer() error { | 91 | func (r *Runer) InitConsumer() error { |
pkg/port/consumer/handles/messageValue.go
0 → 100644
| @@ -10,12 +10,6 @@ import ( | @@ -10,12 +10,6 @@ import ( | ||
| 10 | syncOrderSrv "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/syncOrder/service" | 10 | syncOrderSrv "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/syncOrder/service" |
| 11 | ) | 11 | ) |
| 12 | 12 | ||
| 13 | -type DataFromMessage struct { | ||
| 14 | - Module string `json:"module"` | ||
| 15 | - Action string `json:"action"` | ||
| 16 | - Data json.RawMessage `json:"data"` | ||
| 17 | -} | ||
| 18 | - | ||
| 19 | func DataFromXiangMi(message *sarama.ConsumerMessage) error { | 13 | func DataFromXiangMi(message *sarama.ConsumerMessage) error { |
| 20 | logs.Info("Done Message claimed: timestamp = %v, topic = %s offset = %v value = %v \n", | 14 | logs.Info("Done Message claimed: timestamp = %v, topic = %s offset = %v value = %v \n", |
| 21 | message.Timestamp, message.Topic, message.Offset, string(message.Value)) | 15 | message.Timestamp, message.Topic, message.Offset, string(message.Value)) |
| @@ -27,33 +21,38 @@ func DataFromXiangMi(message *sarama.ConsumerMessage) error { | @@ -27,33 +21,38 @@ func DataFromXiangMi(message *sarama.ConsumerMessage) error { | ||
| 27 | if err != nil { | 21 | if err != nil { |
| 28 | return fmt.Errorf("[Consumer][SyncBestshopOrder] 解析kafka数据失败;%s", err) | 22 | return fmt.Errorf("[Consumer][SyncBestshopOrder] 解析kafka数据失败;%s", err) |
| 29 | } | 23 | } |
| 30 | - err = SyncBestshopOrder(msgData.Data) | 24 | + dataAction := msgData.Module + "/" + msgData.Action |
| 25 | + switch dataAction { | ||
| 26 | + case "xiangmi.order/ship": | ||
| 27 | + err = syncBestshopOrder(msgData.Data) | ||
| 31 | if err != nil { | 28 | if err != nil { |
| 32 | e := fmt.Errorf("[Consumer][SyncBestshopOrder] %s", err) | 29 | e := fmt.Errorf("[Consumer][SyncBestshopOrder] %s", err) |
| 33 | return e | 30 | return e |
| 34 | } | 31 | } |
| 32 | + default: | ||
| 33 | + logs.Error("未找到执行动作:Module=%s,Action=%s", msgData.Module, msgData.Action) | ||
| 34 | + } | ||
| 35 | return nil | 35 | return nil |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | //SyncBestshopOrder 同步 | 38 | //SyncBestshopOrder 同步 |
| 39 | -func SyncBestshopOrder(data []byte) error { | ||
| 40 | - | 39 | +func syncBestshopOrder(data []byte) error { |
| 41 | var ( | 40 | var ( |
| 42 | cmd syncOrderCmd.CreateOrderFromBestshop | 41 | cmd syncOrderCmd.CreateOrderFromBestshop |
| 43 | err error | 42 | err error |
| 44 | ) | 43 | ) |
| 45 | err = json.Unmarshal(data, &cmd) | 44 | err = json.Unmarshal(data, &cmd) |
| 46 | if err != nil { | 45 | if err != nil { |
| 47 | - return fmt.Errorf("[Consumer][SyncBestshopOrder] 解析kafka数据失败;%s", err) | 46 | + return fmt.Errorf("[Consumer][syncBestshopOrder] 解析kafka数据失败;%s", err) |
| 48 | } | 47 | } |
| 49 | if cmd.PartnerId <= 0 { | 48 | if cmd.PartnerId <= 0 { |
| 50 | - logs.Info("[Consumer][SyncBestshopOrder] PartnerId<=0 ,不处理消息") | 49 | + logs.Info("[Consumer][syncBestshopOrder] PartnerId<=0 ,不处理消息") |
| 51 | return nil | 50 | return nil |
| 52 | } | 51 | } |
| 53 | srv := syncOrderSrv.NewOrderInfoService(nil) | 52 | srv := syncOrderSrv.NewOrderInfoService(nil) |
| 54 | err = srv.SyncOrderFromBestshop(cmd) | 53 | err = srv.SyncOrderFromBestshop(cmd) |
| 55 | if err != nil { | 54 | if err != nil { |
| 56 | - e := fmt.Errorf("[Consumer][SyncBestshopOrder] %s", err) | 55 | + e := fmt.Errorf("[Consumer][syncBestshopOrder] %s", err) |
| 57 | return e | 56 | return e |
| 58 | } | 57 | } |
| 59 | return err | 58 | return err |
| 1 | package consumer | 1 | package consumer |
| 2 | 2 | ||
| 3 | -import ( | ||
| 4 | - "encoding/json" | ||
| 5 | - "fmt" | 3 | +// import ( |
| 4 | +// "encoding/json" | ||
| 5 | +// "fmt" | ||
| 6 | 6 | ||
| 7 | - "github.com/Shopify/sarama" | ||
| 8 | - "github.com/astaxie/beego/logs" | ||
| 9 | - syncOrderCmd "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/syncOrder/command" | ||
| 10 | - syncOrderSrv "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/syncOrder/service" | ||
| 11 | -) | 7 | +// "github.com/Shopify/sarama" |
| 8 | +// "github.com/astaxie/beego/logs" | ||
| 9 | +// syncOrderCmd "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/syncOrder/command" | ||
| 10 | +// syncOrderSrv "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/syncOrder/service" | ||
| 11 | +// ) | ||
| 12 | 12 | ||
| 13 | -//SyncBestshopOrder 同步 | ||
| 14 | -func SyncBestshopOrder(message *sarama.ConsumerMessage) error { | ||
| 15 | - logs.Info("Done Message claimed: timestamp = %v, topic = %s offset = %v value = %v \n", | ||
| 16 | - message.Timestamp, message.Topic, message.Offset, string(message.Value)) | ||
| 17 | - var ( | ||
| 18 | - cmd syncOrderCmd.CreateOrderFromBestshop | ||
| 19 | - err error | ||
| 20 | - ) | ||
| 21 | - err = json.Unmarshal(message.Value, &cmd) | ||
| 22 | - if err != nil { | ||
| 23 | - return fmt.Errorf("[Consumer][SyncBestshopOrder] 解析kafka数据失败;%s", err) | ||
| 24 | - } | ||
| 25 | - if cmd.PartnerId <= 0 { | ||
| 26 | - logs.Info("[Consumer][SyncBestshopOrder] PartnerId<=0 ,不处理消息") | ||
| 27 | - return nil | ||
| 28 | - } | ||
| 29 | - srv := syncOrderSrv.NewOrderInfoService(nil) | ||
| 30 | - err = srv.SyncOrderFromBestshop(cmd) | ||
| 31 | - if err != nil { | ||
| 32 | - e := fmt.Errorf("[Consumer][SyncBestshopOrder] %s", err) | ||
| 33 | - return e | ||
| 34 | - } | ||
| 35 | - return err | ||
| 36 | -} | 13 | +// //SyncBestshopOrder 同步 |
| 14 | +// func SyncBestshopOrder(message *sarama.ConsumerMessage) error { | ||
| 15 | +// logs.Info("Done Message claimed: timestamp = %v, topic = %s offset = %v value = %v \n", | ||
| 16 | +// message.Timestamp, message.Topic, message.Offset, string(message.Value)) | ||
| 17 | +// var ( | ||
| 18 | +// cmd syncOrderCmd.CreateOrderFromBestshop | ||
| 19 | +// err error | ||
| 20 | +// ) | ||
| 21 | +// err = json.Unmarshal(message.Value, &cmd) | ||
| 22 | +// if err != nil { | ||
| 23 | +// return fmt.Errorf("[Consumer][SyncBestshopOrder] 解析kafka数据失败;%s", err) | ||
| 24 | +// } | ||
| 25 | +// if cmd.PartnerId <= 0 { | ||
| 26 | +// logs.Info("[Consumer][SyncBestshopOrder] PartnerId<=0 ,不处理消息") | ||
| 27 | +// return nil | ||
| 28 | +// } | ||
| 29 | +// srv := syncOrderSrv.NewOrderInfoService(nil) | ||
| 30 | +// err = srv.SyncOrderFromBestshop(cmd) | ||
| 31 | +// if err != nil { | ||
| 32 | +// e := fmt.Errorf("[Consumer][SyncBestshopOrder] %s", err) | ||
| 33 | +// return e | ||
| 34 | +// } | ||
| 35 | +// return err | ||
| 36 | +// } |
-
请 注册 或 登录 后发表评论