diff --git a/app/mix/cmd_offline/main.go b/app/mix/cmd_offline/main.go index 41f2afb3..11a6ad56 100644 --- a/app/mix/cmd_offline/main.go +++ b/app/mix/cmd_offline/main.go @@ -3,10 +3,12 @@ package main import ( "fmt" "net" + "net/http" "os" "runtime" "service/api/consts" "service/app/mix/conf" + "service/app/mix/controller" "service/app/mix/mediafiller" "service/app/mix/service" "service/library/apollo" @@ -15,9 +17,12 @@ import ( "service/library/contentaudit/textaudit" videomoderation "service/library/contentaudit/video_moderation" "service/library/dingtalk" + "service/library/httpengine" + "service/library/httpserver" "service/library/logger" "service/library/redis" "service/library/sms" + "service/library/validator" "strings" "time" ) @@ -52,7 +57,7 @@ func main() { } // 初始化日志 - logger.InitLogger(cfg.Log) + logger.InitLogger(cfg.OfflineServer.Log) // 初始化短信服务 err = sms.Init(cfg.Dysmsapi) @@ -100,7 +105,16 @@ func main() { // 初始化媒体填充服务 mediafiller.Init(cfg.ServerInfo) - exec.Run() + // 初始化http server + go exec.Run() + router := httpengine.NewRouter() + validator.InitDefaultNotNullValidator() + controller.InitOffline(router) + srv := &http.Server{ + Addr: fmt.Sprintf("%s:%d", GetIp(), cfg.App.Port), + Handler: router, + } + httpserver.StartHttpServer(srv, cfg.OfflineServer) } func PrintAndExit(msg string) { diff --git a/app/mix/conf/cfg.go b/app/mix/conf/cfg.go index d9886bed..9c788fac 100644 --- a/app/mix/conf/cfg.go +++ b/app/mix/conf/cfg.go @@ -23,4 +23,5 @@ type ConfigSt struct { VideoModeration *configcenter.VideoModerationConfig `json:"video_moderation" yaml:"video_moderation"` // 视频审核 ElasticSearch *configcenter.ElasticSearchConfig `json:"elastic_search" yaml:"elastic_search"` // es SD *configcenter.ConsulServiceDiscovery `json:"sd" yaml:"sd"` + OfflineServer *configcenter.DefaultConfig `json:"offline_server" yaml:"offline_server"` } diff --git a/app/mix/controller/init.go b/app/mix/controller/init.go index 61355cc4..2caf3e01 100644 --- a/app/mix/controller/init.go +++ b/app/mix/controller/init.go @@ -7,7 +7,6 @@ import ( "net/http" imageaudittaskproto "service/api/proto/imageaudittask/proto" mediaproto "service/api/proto/media/proto" - video_moderation_proto "service/api/proto/video_moderation/proto" zonesessionproto "service/api/proto/zonesession/proto" "service/library/logger" "service/library/middleware" @@ -526,10 +525,6 @@ func Init(r *gin.Engine) { // 空间相关每日报表 opDailyStatementZoneInfoGroup := r.Group("/op/daily_statement_zone_info", PrepareOp()) opDailyStatementZoneInfoGroup.POST("list", middleware.JSONParamValidator(daily_statement_zone_info_proto.OpListReq{}), middleware.JwtAuthenticator(), OpGetDailyStatementZoneInfoList) - - // 视频审核callback - extVideoModerationGroup := r.Group("/ext/video_moderation") - extVideoModerationGroup.POST("callback", middleware.FORMParamValidator(video_moderation_proto.ExtVideoModerationReq{}), VideoModerationCallback) } func ServeFile(ctx *gin.Context) { diff --git a/app/mix/controller/init_offline.go b/app/mix/controller/init_offline.go new file mode 100644 index 00000000..119c1b01 --- /dev/null +++ b/app/mix/controller/init_offline.go @@ -0,0 +1,20 @@ +package controller + +import ( + video_moderation_proto "service/api/proto/video_moderation/proto" + "service/library/middleware" + + "github.com/gin-gonic/gin" +) + +func InitOffline(r *gin.Engine) { + r.HandleMethodNotAllowed = true + + // websocket长链接 + r.GET("/", ServeFile) + r.GET("/ws", HandleWs) + + // 视频审核callback + extVideoModerationGroup := r.Group("/offline_ext/video_moderation") + extVideoModerationGroup.POST("callback", middleware.FORMParamValidator(video_moderation_proto.ExtVideoModerationReq{}), VideoModerationCallback) +} diff --git a/etc/mix/mix-prod.yaml b/etc/mix/mix-prod.yaml index 62c076a4..fdc32f29 100644 --- a/etc/mix/mix-prod.yaml +++ b/etc/mix/mix-prod.yaml @@ -104,7 +104,7 @@ textaudit: video_moderation: access_key_id: "LTAI5tQBGFS9BNiTHdbAAM74" access_key_secret: "vsV42N0ZCtJTQNwFLheCaV8oQn69hQ" - notify_url: "https://api.tiefen.fun/ext/video_moderation/callback" + notify_url: "https://offlineserver.wishpal.cn/offline_ext/video_moderation/callback" ali_acct_id: "1501583627133461" seed: "23XSkaZsMTz3xdnKtTmx229ZaJ3VS7e" @@ -129,7 +129,7 @@ server_info: xxl_job: server_addr: "http://172.16.0.186:9800/xxl-job-admin" access_token: "default_token" - executor_ip: "172.16.0.185" + executor_ip: "172.31.37.66" executor_port: "9801" registry_key: "golang-jobs-executor" log_path: "/app/ironfan/log/xxl_job/" @@ -147,3 +147,17 @@ elastic_search: sd: host: "http://172.31.37.68:8500" service_name: "mix_online" + + +offline_server: + log: + stdout_enable: true + stdout_level: "trace" + file_enable: true + file_level: "trace" + file_abs_path: "/app/ironfan/log/offline-server/" + + app: + app_name: "offline-server" + ip: "127.0.0.1" + port: 9998 \ No newline at end of file diff --git a/etc/mix/mix-test.yaml b/etc/mix/mix-test.yaml index 043fc86d..dc5ba281 100644 --- a/etc/mix/mix-test.yaml +++ b/etc/mix/mix-test.yaml @@ -105,7 +105,7 @@ textaudit: video_moderation: access_key_id: "LTAI5tQBGFS9BNiTHdbAAM74" access_key_secret: "vsV42N0ZCtJTQNwFLheCaV8oQn69hQ" - notify_url: "https://api.wishpal.cn/ext/video_moderation/callback" + notify_url: "https://api.wishpal.cn/offline_ext/video_moderation/callback" ali_acct_id: "1501583627133461" seed: "23XSkaZsMTz3xdnKtTmx229ZaJ3VS7e" @@ -148,3 +148,17 @@ elastic_search: sd: host: "http://172.31.37.68:8500" service_name: "mix_test" + + +offline_server: + log: + stdout_enable: true + stdout_level: "trace" + file_enable: true + file_level: "trace" + file_abs_path: "/app/ironfan/log/offline-server/" + + app: + app_name: "offline-server" + ip: "127.0.0.1" + port: 9998 \ No newline at end of file