package main import ( "flag" "mtp20_assisted/core" "mtp20_assisted/global" "mtp20_assisted/service" "go.uber.org/zap" ) func main() { // 初始化Viper global.M2A_VP = core.Viper() // 初始化zap日志库 global.M2A_LOG = core.Zap() zap.ReplaceGlobals(global.M2A_LOG) // xorm连接数据库 global.M2A_DB = core.XormOracle() if global.M2A_DB != nil { // 程序结束前关闭数据库链接 defer global.M2A_DB.DB().Close() } else { return } // 连接RabbitMQ global.M2A_RABBITMQ = core.RabbitMQ() if global.M2A_RABBITMQ != nil { defer global.M2A_RABBITMQ.Connection.Close() } else { return } // 构建总线信息处理器 service.InitRabbitMQMsgPreccesser() // 开始向总线创建和绑定队列 service.StartRabbitMQSubscribe() // 开始接收总线消息 service.StartRabbitMQReceive() // 连接FTP if global.M2A_CONFIG.FTP.Enable { // 在这里连接FTP可能会在使用时已经断开 // var err error // if global.M2A_FTP, err = core.FTP(); err == nil { // defer global.M2A_FTP.Quit() // } // 开始FTP Timer任务 service.InitTimer() } // 判断输入参数 var ftp bool flag.BoolVar(&ftp, "ftp", false, "是否立即执行FTP导入工作") flag.Parse() if ftp { service.ImportWMSReckon() } // service.ImportWMSReckon() global.M2A_DONE = make(chan bool) <-global.M2A_DONE }