|
|
package consumer
|
|
|
|
|
|
import (
|
|
|
"os"
|
|
|
|
|
|
"github.com/Shopify/sarama"
|
|
|
"github.com/astaxie/beego/logs"
|
|
|
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/port/consumer/handles"
|
|
|
)
|
|
|
|
|
|
//TopicHandle 处理kafka中得消息
|
|
|
type TopicHandle func(*sarama.ConsumerMessage) error
|
|
|
|
|
|
var BeforeHandles = []TopicHandle{}
|
|
|
var AfterHandles = []TopicHandle{}
|
|
|
|
|
|
//TopicHandleRouters 根据topic区分消息并进行处理
|
|
|
var TopicHandleRouters = map[string]TopicHandle{
|
|
|
"topic_test": func(message *sarama.ConsumerMessage) error {
|
...
|
...
|
@@ -18,5 +18,25 @@ var TopicHandleRouters = map[string]TopicHandle{ |
|
|
message.Timestamp, message.Topic, message.Offset, string(message.Value))
|
|
|
return nil
|
|
|
},
|
|
|
//"xiangmi-orders": handles.DataFromXiangMi,
|
|
|
}
|
|
|
|
|
|
func init() {
|
|
|
var runEnv string
|
|
|
if os.Getenv("KAFKA_CONSUMER_ID") != "" {
|
|
|
runEnv = os.Getenv("KAFKA_CONSUMER_ID")
|
|
|
}
|
|
|
if runEnv == "partnermg_test" {
|
|
|
initHandleRoutersTest()
|
|
|
}
|
|
|
if runEnv == "partnermg_prd" {
|
|
|
initHandleRoutersProd()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func initHandleRoutersTest() {
|
|
|
TopicHandleRouters["xiangmi_project_test"] = handles.DataFromXiangMi
|
|
|
}
|
|
|
|
|
|
func initHandleRoutersProd() {
|
|
|
TopicHandleRouters["xiangmi_project"] = handles.DataFromXiangMi
|
|
|
} |
...
|
...
|
|