| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package main
- import (
- _ "MeterService/core/config" // 加载配置文件,需要放在第一行
- "MeterService/core/db/mysql"
- "MeterService/core/logger" // 加载logger,放第二行
- "MeterService/service/downStreamService"
- "MeterService/core/db"
- //"MeterService/core/db/sqlite"
- "MeterService/data"
- "MeterService/meter/proto"
- "MeterService/service/webService"
- "os"
- "os/signal"
- "syscall"
- "time"
- )
- func main() {
- // 连接mysql数据库
- //DB := db.OpenDb()
- //defer db.CloseDb(DB)
- // 连接sqlite
- //db.OpenDb(sqlite.OpenSQLite)
- db.OpenDb(mysql.OpenMySql)
- defer db.CloseDb()
- // redis
- db.InitRedis()
- // 加载电表协议
- proto.MeterProtoInit()
- // 初始化电表数据
- if data.InitData() {
- logger.Debug("初始化电表数据成功!")
- // 启动web服务
- go webService.NewWebServer()
- // 启动downStream服务
- go downStreamService.NewDownStreamService()
- }
- go func() {
- ch := make(chan os.Signal)
- signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL, syscall.SIGQUIT)
- <-ch
- logger.Info("即将退出!")
- os.Exit(0)
- }()
- logger.Info("程序运行中...")
- for {
- time.Sleep(5 * time.Minute)
- }
- }
|