Commit 66eaa889 authored by 赵文静's avatar 赵文静

补充新闻rabbitmq

parent 2245c725
...@@ -11,11 +11,15 @@ import ( ...@@ -11,11 +11,15 @@ import (
"log" "log"
"net" "net"
"net/url" "net/url"
"os"
"os/signal"
"runtime" "runtime"
"speech-nlu-parse/middleware" "speech-nlu-parse/middleware"
"speech-nlu-parse/pkg/proto" "speech-nlu-parse/pkg/proto"
"speech-nlu-parse/service" "speech-nlu-parse/service"
"speech-nlu-parse/service/speechNlu"
"strings" "strings"
"syscall"
"time" "time"
"gopkg.in/natefinch/lumberjack.v2" "gopkg.in/natefinch/lumberjack.v2"
...@@ -83,71 +87,30 @@ func setup() error { ...@@ -83,71 +87,30 @@ func setup() error {
} }
func main() { func main() {
//// 初始化配置 // 初始化配置
//if err := setup(); err != nil { if err := setup(); err != nil {
// log.Fatalf("[FATAL] Setup failed: %v", err) log.Fatalf("[FATAL] Setup failed: %v", err)
//} }
//
//// 初始化 RabbitMQ 消费者 // 初始化 RabbitMQ 消费者
//consumer, err := speechNlu.NewConsumer( consumer, err := speechNlu.NewConsumer(
// global.RabbitMqSetting.Url, global.RabbitMqSetting.Url,
// global.RabbitMqSetting.ExchangeName, global.RabbitMqSetting.ExchangeName,
// global.RabbitMqSetting.ExchangeType, global.RabbitMqSetting.ExchangeType,
//) )
//if err != nil {
// log.Fatalf("[FATAL] Create consumer failed: %v", err)
//}
//defer func() {
// if err := consumer.Shutdown(); err != nil {
// log.Printf("[WARN] Consumer shutdown error: %v", err)
// }
//}()
//
//// 初始化 gRPC
//lis, err := net.Listen("tcp", fmt.Sprintf(":%d", global.ServerSetting.Port))
//if err != nil {
// log.Fatalf("[FATAL] Listen failed: %v", err)
//}
//
//server := grpc.NewServer(
// grpc.StreamInterceptor(grpc_middleware.ChainStreamServer(
// middleware.StreamGSError500(),
// )),
// grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(
// middleware.UnaryGSError500(),
// )),
//)
//proto.RegisterTencentNluServer(server, &service.TencentNlu{})
//grpc_health_v1.RegisterHealthServer(server, &consul.HealthImpl{})
//reflection.Register(server)
//
//// 启动 gRPC 服务
//go func() {
// global.Logger.Info("service is running......")
// if err := server.Serve(lis); err != nil {
// log.Fatalf("[FATAL] gRPC serve error: %v", err)
// }
//}()
//
//// 阻塞等待信号
//stop := make(chan os.Signal, 1)
//signal.Notify(stop, os.Interrupt, syscall.SIGTERM)
//<-stop
//
//// 优雅关闭
//log.Println("[INFO] Shutting down...")
//server.GracefulStop()
//log.Println("[INFO] Server stopped")
var err error
// 初始化, 加载配置
err = setup()
if err != nil { if err != nil {
return log.Fatalf("[FATAL] Create consumer failed: %v", err)
} }
defer func() {
if err := consumer.Shutdown(); err != nil {
log.Printf("[WARN] Consumer shutdown error: %v", err)
}
}()
lis, err := net.Listen("tcp", fmt.Sprintf(":%v", global.ServerSetting.Port)) // 初始化 gRPC
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", global.ServerSetting.Port))
if err != nil { if err != nil {
log.Fatalf("listen error:%v", err) log.Fatalf("[FATAL] Listen failed: %v", err)
} }
server := grpc.NewServer( server := grpc.NewServer(
...@@ -162,15 +125,25 @@ func main() { ...@@ -162,15 +125,25 @@ func main() {
_ = consul.RegisterService(global.ServerSetting) //将服务注册到注册中心 _ = consul.RegisterService(global.ServerSetting) //将服务注册到注册中心
grpc_health_v1.RegisterHealthServer(server, &consul.HealthImpl{}) //执行健康检查 grpc_health_v1.RegisterHealthServer(server, &consul.HealthImpl{}) //执行健康检查
reflection.Register(server)
reflection.Register(server) //使用grpcurl、grpcui工具需添加该行 // 启动 gRPC 服务
go func() {
global.Logger.Info("service is running......") global.Logger.Info("service is running......")
if err := server.Serve(lis); err != nil {
if err = server.Serve(lis); err != nil { log.Fatalf("[FATAL] gRPC serve error: %v", err)
log.Fatalf("start service error:%v", err)
} }
}()
// 阻塞等待信号
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt, syscall.SIGTERM)
<-stop
// 优雅关闭
log.Println("[INFO] Shutting down...")
server.GracefulStop()
log.Println("[INFO] Server stopped")
} }
func setupFlag() error { func setupFlag() error {
...@@ -179,7 +152,7 @@ func setupFlag() error { ...@@ -179,7 +152,7 @@ func setupFlag() error {
flag.StringVar(&serverTag, "tag", "", "注册到注册中心的标签") flag.StringVar(&serverTag, "tag", "", "注册到注册中心的标签")
flag.StringVar(&ip, "ip", "", "IP") flag.StringVar(&ip, "ip", "", "IP")
flag.IntVar(&port, "port", 0, "端口") flag.IntVar(&port, "port", 0, "端口")
flag.StringVar(&consulUrl, "consul", "http://172.28.124.106:8500", "consul服务地址") flag.StringVar(&consulUrl, "consul", "http://172.28.124.105:8500", "consul服务地址")
flag.StringVar(&config, "config", "env/v2,speech_nlu_parse/conf", "指定要使用的配置文件路径") flag.StringVar(&config, "config", "env/v2,speech_nlu_parse/conf", "指定要使用的配置文件路径")
flag.BoolVar(&isVersion, "version", false, "编译信息") flag.BoolVar(&isVersion, "version", false, "编译信息")
flag.StringVar(&consulToken, "token", "092288b5-824f-854c-39aa-a958afd9a633", "consul token") flag.StringVar(&consulToken, "token", "092288b5-824f-854c-39aa-a958afd9a633", "consul token")
...@@ -249,10 +222,10 @@ func setupSetting() error { ...@@ -249,10 +222,10 @@ func setupSetting() error {
if err != nil { if err != nil {
return err return err
} }
//err = s.ReadSection("RabbitMq", &global.RabbitMqSetting) err = s.ReadSection("RabbitMq", &global.RabbitMqSetting)
//if err != nil { if err != nil {
// return err return err
//} }
consulUrlParse, err := url.Parse(consulUrl) consulUrlParse, err := url.Parse(consulUrl)
if err != nil { if err != nil {
......
...@@ -112,6 +112,7 @@ type Content struct { ...@@ -112,6 +112,7 @@ type Content struct {
Dynasty string `json:"dynasty"` Dynasty string `json:"dynasty"`
ResType string `json:"resType"` ResType string `json:"resType"`
Source string `json:"source"` Source string `json:"source"`
NewsId string `json:"news_id"`
} `json:"extra"` } `json:"extra"`
} }
......
...@@ -221,6 +221,7 @@ func newsDomain(params *model.SpeechDomainParams) []byte { ...@@ -221,6 +221,7 @@ func newsDomain(params *model.SpeechDomainParams) []byte {
"url": con.LinkUrl, "url": con.LinkUrl,
"title": con.Title, "title": con.Title,
"newsFrom": con.Extra.Source, "newsFrom": con.Extra.Source,
"mediaId": con.Extra.NewsId,
//"newsType": "", //"newsType": "",
}) })
} }
......
...@@ -38,8 +38,8 @@ type FeedBackResp struct { ...@@ -38,8 +38,8 @@ type FeedBackResp struct {
} }
func FeedBackNews(actionType, duration int, sid, uid string) (*FeedBackResp, error) { func FeedBackNews(actionType, duration int, sid, uid string) (*FeedBackResp, error) {
url := "http://apis.duiopen.com/feedback/letingv4?productId=279629895&apikey=0c74988953dd4ed4bf31955527802cf3&uid=111" //url := "http://apis.duiopen.com/feedback/letingv4?productId=279629895&apikey=0c74988953dd4ed4bf31955527802cf3&uid=111"
//url := global.SpeechSetting.FeedBackUrl + "?productId=" + global.SpeechSetting.ProductId + "&apikey=" + global.SpeechSetting.ApiKey + "&uid=" + uid url := global.SpeechSetting.FeedBackUrl + "?productId=" + global.SpeechSetting.ProductId + "&apikey=" + global.SpeechSetting.ApiKey + "&uid=" + uid
request := FeedBackReq{ request := FeedBackReq{
ActionType: actionType, ActionType: actionType,
Timestamp: time.Now().Unix(), Timestamp: time.Now().Unix(),
...@@ -86,7 +86,7 @@ func FeedBackNews(actionType, duration int, sid, uid string) (*FeedBackResp, err ...@@ -86,7 +86,7 @@ func FeedBackNews(actionType, duration int, sid, uid string) (*FeedBackResp, err
return nil, err return nil, err
} }
field["GetGridConList_response"] = string(body) field["FeedBackNews_response"] = string(body)
var response FeedBackResp var response FeedBackResp
if err := json.Unmarshal(body, &response); err != nil { if err := json.Unmarshal(body, &response); err != nil {
......
...@@ -194,7 +194,11 @@ func (c *Consumer) Consume() { ...@@ -194,7 +194,11 @@ func (c *Consumer) Consume() {
// 处理消息逻辑 // 处理消息逻辑
state, offset, mediaId := parseData(&resp) state, offset, mediaId := parseData(&resp)
uid := util.EncodeMD5(resp.Mac) uid := util.EncodeMD5(resp.Mac)
//ip := "14.215.222.17" //todo:待改 //ip := "14.215.222.17"
if state != 3 {
state = 4 //未播完
}
offset = offset / 1000
if _, err := FeedBackNews(state, offset, mediaId, uid); err != nil { if _, err := FeedBackNews(state, offset, mediaId, uid); err != nil {
global.Logger.Errorf("Feedback error: %v", err) global.Logger.Errorf("Feedback error: %v", err)
_ = d.Nack(false, true) _ = d.Nack(false, true)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment