// Open create new tsdb with root directory func Open(filepath string) (DataSource, error) { if !fs.Exists(filepath) { err := os.MkdirAll(filepath, 0644) if err != nil { return nil, err } } idgen, err := newSEQIDGen(filepath) if err != nil { return nil, err } persistence, err := newDB(filepath) if err != nil { return nil, err } return &_DataSource{ Log: gslogger.Get("tsdb"), SEQIDGen: idgen, Persistence: persistence, cached: make(map[string]*_Cached), cachedsize: gsconfig.Int("tsdb.cached.size", 1024), }, nil }
// EndScript . func (codegen *_CodeGen) EndScript(compiler *gslang.Compiler) { content := codegen.content.String() packageName := codegen.script.Package if packageName == "com.gsrpc" { content = strings.Replace(content, "gorpc.", "", -1) } for k, v := range imports { if strings.Contains(content, k) { codegen.header.WriteString(fmt.Sprintf("import \"%s\"\n", v)) } } codegen.header.WriteString(content) var err error var sources []byte fullpath := filepath.Join(codegen.rootpath, codegen.scriptPath, filepath.Base(codegen.script.Name())+".go") sources, err = format.Source(codegen.header.Bytes()) if err != nil { gserrors.Panicf(err, "format golang source codes error:%s", fullpath) } codegen.D("generate golang file :%s", fullpath) if !fs.Exists(filepath.Dir(fullpath)) { err := os.MkdirAll(filepath.Dir(fullpath), 0755) if err != nil { gserrors.Panicf(err, "format golang source codes error") } } err = ioutil.WriteFile(fullpath, sources, 0644) if err != nil { gserrors.Panicf(err, "write generate golang file error") } }