代码拉取完成,页面将自动刷新
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()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。