| | |
| | | package main |
| | | |
| | | import ( |
| | | "basic.com/CloudAI/protomsg.git/analysis" |
| | | "google.golang.org/grpc" |
| | | "net" |
| | | "ruleModelEngine/api/analysisApi" |
| | | "ruleModelEngine/cache" |
| | | "ruleModelEngine/config" |
| | | "ruleModelEngine/db" |
| | | |
| | | //"ruleModelEngine/task" |
| | | |
| | | //"annotation_service/db" |
| | | "basic.com/valib/logger.git" |
| | | "flag" |
| | |
| | | "time" |
| | | ) |
| | | |
| | | var env = flag.String("app", "app", "read database info") |
| | | var env = flag.String("rulemodelengine", "rulemodelengine", "read database info") |
| | | |
| | | func init() { |
| | | config.Init(*env) |
| | | var logFile = config.LogConf.Path + "annotation_service.log" |
| | | var logFile = config.LogConf.Path + "rule_model_engine.log" |
| | | logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) |
| | | logger.Info("loginit success !") |
| | | dbErr := db.ConnectDB() |
| | | if dbErr != nil { |
| | | logger.Error("数据库连接失败", dbErr) |
| | | return |
| | | } |
| | | logger.Info("ConnectDB success !") |
| | | cacheErr := cache.DeviceCacheInit() |
| | | if cacheErr != nil { |
| | | logger.Error("设备表缓存失败", cacheErr) |
| | | return |
| | | } |
| | | cacheErr = cache.PublicHouseCacheInit() |
| | | if cacheErr != nil { |
| | | logger.Error("公租房数据缓存失败", cacheErr) |
| | | return |
| | | } |
| | | logger.Info("cache init success !") |
| | | } |
| | | |
| | | func initApiServer() { |
| | | ln, err := net.Listen("tcp", config.Api.Host+":"+config.Api.Port) |
| | | if err != nil { |
| | | logger.Fatal("grpc server init error: %v", err.Error()) |
| | | //panic(fmt.Sprintf("grpc server init error: %v", err.Error())) |
| | | } |
| | | s := grpc.NewServer() |
| | | analysis.RegisterAnalysisServiceServer(s, &analysisApi.Server{}) |
| | | err = s.Serve(ln) |
| | | if err != nil { |
| | | logger.Fatal("grpc server init error: %v", err.Error()) |
| | | //panic(fmt.Sprintf("grpc server init error: %v", err.Error())) |
| | | } |
| | | } |
| | | |
| | | func main() { |
| | |
| | | logger.Info("Executing immediately...") |
| | | rule.ExecuteTask() |
| | | } |
| | | |
| | | //r, _ := db.QueryByDays(3) |
| | | //for _, id := range r { |
| | | // task.TaskAnalysisService(id) |
| | | //} |
| | | //fmt.Println("ids: ", len(r)) |
| | | //return |
| | | //task.TaskAnalysisService("3407b20e-6343-4832-88fa-a8e986552532") |
| | | go initApiServer() |
| | | //return |
| | | now := time.Now() |
| | | next := time.Date(now.Year(), now.Month(), now.Day()+1, 1, 0, 0, 0, now.Location()) |
| | | duration := next.Sub(now) |
| | | |
| | | timer := time.NewTimer(duration) |
| | | logger.Info("The program has started and will execute at one o'clock in the early morning every night.") |
| | | for { |