1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package main
- import (
- "fmt"
- "os"
- "git.wecise.com/wecise/cgimport/importer"
- "git.wecise.com/wecise/cgimport/odbc"
- "github.com/wecisecode/util/mfmt"
- )
- // 获取配置信息
- //
- // 默认配置:
- // 当前工作目录下 与应用同名的 .conf 文件
- // 环境变量
- // 命令行参数
- var mcfg = odbc.Config
- var logger = odbc.Logger
- func init() {
- odbc.DefaultAppName = "cgimport"
- odbc.CommandArgsInfo = func() string {
- return `
- datapath=data # 指定数据文件路径
- reload=true # 重新导入所有数据,不指定则跳过已经导入的文件
- rebuild=true # 重新构建数据类结构,不指定则保持已有类结构和已有数据不变`
- }
- }
- func main() {
- if mcfg.GetString("help") != "" {
- fmt.Println(odbc.Usage())
- os.Exit(0)
- }
- // 配置参数
- // 文件目录
- datapath := mcfg.GetString("datapath", mcfg.GetString("cgi.datapath", "data"))
- // 并发数
- parallel := mcfg.GetInt("parallel", mcfg.GetInt("cgi.parallel", 20))
- //
- reload := mcfg.GetBool("reload") || mcfg.GetString("reload") == "reload"
- rebuild := mcfg.GetBool("rebuild") || mcfg.GetString("rebuild") == "rebuild"
- //
- logger.Info("datapath: ", datapath)
- logger.Info("parallel: ", parallel)
- logger.Info("reload: ", reload)
- logger.Info("rebuild: ", rebuild)
- // 导入
- totalfilescount, totallinecount, totalrecordscount, totalusetime, filescount, linescount, recordscount, usetime, e := importer.ImportDir(datapath, parallel, rebuild, reload)
- if e != nil {
- logger.Error(e)
- panic(e)
- }
- if totalfilescount == 0 {
- logger.Info(`not found data files in "` + datapath + `"`)
- return
- }
- // 输出统计信息
- logger.Info("import", filescount, "files", linescount, "lines", recordscount, "records", "in", mfmt.FormatDuration(usetime))
- logger.Info("total import", totalfilescount, "files", totallinecount, "lines", totalrecordscount, "records", "in", mfmt.FormatDuration(totalusetime))
- fmt.Println("access", odbc.LogFile, "for detail information")
- // 验证
- if odbc.ODBCDebug || odbc.LogDebug {
- importer.Check()
- }
- os.Exit(0)
- }
|