10 Star 31 Fork 5

夏午茶 / sago

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
sago.go 2.01 KB
一键复制 编辑 原始数据 按行查看 历史
zhoumi 提交于 2020-05-19 17:07 . 目录修改
package sago
import (
"flag"
"gitee.com/xiawucha365/sago/internal/logger"
tool "gitee.com/xiawucha365/sago/internal/tool"
"github.com/garyburd/redigo/redis"
)
const (
GENV_CONST_DEV = "dev"
GENV_CONST_PROD = "prod"
)
var (
GMysql *DbEngine
GModel *DbDialect
GRedis redis.Conn
GMongodb Mongodb
GMail Mail
Env string
Debug bool
)
func init() {
initEnv()
initMysql()
initRedis()
initMongodb()
initMail()
defer func() {
//日志缓冲完成
logger.Flush()
}()
}
// InitEnv 初始化
func initEnv() {
var etc_file string
etc_dir := tool.GetCurrentPath()
flag.StringVar(&Env, "env", "dev", "请选择环境:test<测试环境> prod<线上环境>")
flag.BoolVar(&Debug, "debug", false, "是否输出详细调试信息")
flag.Parse()
//启动命令
if Env == GENV_CONST_PROD {
etc_file = etc_dir + "/etc/prod.toml"
//判断文件是否存在,如果文件不存在往上级目录走3层。为了一个项目下写多个脚本不需要写多个配置文件。
if !tool.IsFileExist(etc_file) {
etc_dir = tool.GetParentDirectory(etc_dir)
etc_dir = tool.GetParentDirectory(etc_dir)
etc_file = etc_dir + "/etc/prod.toml"
if !tool.IsFileExist(etc_file) {
etc_dir = tool.GetParentDirectory(etc_dir)
etc_file = etc_dir + "/etc/prod.toml"
}
}
}
if Env == GENV_CONST_DEV {
etc_file = "/Users/mfw/Documents/data/go/src/hotel_scripts/console/spider_worker/etc/dev.toml"
}
if err := InitConfig(etc_file); err != nil {
logger.Error(err)
}
GConfig.Common.Env = Env
GConfig.Common.Debug = Debug
initLog()
return
}
func initMysql() {
//通用模式
GMysql = CreateMysqlDialect()
//自定义封装模式
GModel = MysqlDialect
}
func initRedis() {
if GConfig.Redis.Addr == "" {
return
}
GRedis = createRedisDialect()
}
//日志初始化
func initLog() {
logger.Init(GConfig.Common.Logdir)
}
//初始化mongodb
func initMongodb() {
GMongodb.SessionList = CreateMongodbSessionList()
}
//初始化邮件
func initMail() {
GMail.MailEngine = InitMailConnect()
}
Go
1
https://gitee.com/xiawucha365/sago.git
git@gitee.com:xiawucha365/sago.git
xiawucha365
sago
sago
v1.1.0

搜索帮助