日常查询由mysql改为clickhouse
This commit is contained in:
@@ -261,3 +261,23 @@ func (this *SysSettingDAO) ReadDatabaseConfig(tx *dbs.Tx) (config *systemconfigs
|
||||
}
|
||||
return config, nil
|
||||
}
|
||||
|
||||
// ReadClickHouseConfig 读取ClickHouse配置
|
||||
func (this *SysSettingDAO) ReadClickHouseConfig(tx *dbs.Tx) (*systemconfigs.ClickHouseSetting, error) {
|
||||
valueJSON, err := this.ReadSetting(tx, "clickhouseConfig")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(valueJSON) == 0 {
|
||||
return &systemconfigs.ClickHouseSetting{
|
||||
Port: 8123,
|
||||
Database: "default",
|
||||
}, nil
|
||||
}
|
||||
var config = &systemconfigs.ClickHouseSetting{}
|
||||
err = json.Unmarshal(valueJSON, config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return config, nil
|
||||
}
|
||||
|
||||
@@ -66,25 +66,3 @@ func (this *SysSettingDAO) ReadUserSenderConfig(tx *dbs.Tx) (*userconfigs.UserSe
|
||||
return config, nil
|
||||
}
|
||||
|
||||
// ReadClickHouseConfig 读取 ClickHouse 连接配置(后台页面配置,用于访问日志 logs_ingest 查询)
|
||||
func (this *SysSettingDAO) ReadClickHouseConfig(tx *dbs.Tx) (*systemconfigs.ClickHouseSetting, error) {
|
||||
valueJSON, err := this.ReadSetting(tx, systemconfigs.SettingCodeClickHouseConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
out := &systemconfigs.ClickHouseSetting{Port: 8123, Database: "default"}
|
||||
if len(valueJSON) == 0 {
|
||||
return out, nil
|
||||
}
|
||||
err = json.Unmarshal(valueJSON, out)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if out.Port <= 0 {
|
||||
out.Port = 8123
|
||||
}
|
||||
if out.Database == "" {
|
||||
out.Database = "default"
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"github.com/TeaOSLab/EdgeAPI/internal/goman"
|
||||
"github.com/go-sql-driver/mysql"
|
||||
"github.com/iwind/TeaGo/dbs"
|
||||
"golang.org/x/sys/unix"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -60,14 +59,7 @@ func CheckHasFreeSpace() bool {
|
||||
}
|
||||
LocalDatabaseDataDir = dir
|
||||
|
||||
var stat unix.Statfs_t
|
||||
err = unix.Statfs(dir, &stat)
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
var availableSpace = (stat.Bavail * uint64(stat.Bsize)) / (1 << 30) // GB
|
||||
return availableSpace > minFreeSpaceGB
|
||||
return checkHasFreeSpace(dir)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
18
EdgeAPI/internal/db/utils/disk_unix.go
Normal file
18
EdgeAPI/internal/db/utils/disk_unix.go
Normal file
@@ -0,0 +1,18 @@
|
||||
//go:build !windows
|
||||
|
||||
package dbutils
|
||||
|
||||
import (
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
func checkHasFreeSpace(dir string) bool {
|
||||
var stat unix.Statfs_t
|
||||
err := unix.Statfs(dir, &stat)
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
var availableSpace = (stat.Bavail * uint64(stat.Bsize)) / (1 << 30) // GB
|
||||
return availableSpace > minFreeSpaceGB
|
||||
}
|
||||
7
EdgeAPI/internal/db/utils/disk_windows.go
Normal file
7
EdgeAPI/internal/db/utils/disk_windows.go
Normal file
@@ -0,0 +1,7 @@
|
||||
//go:build windows
|
||||
|
||||
package dbutils
|
||||
|
||||
func checkHasFreeSpace(dir string) bool {
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user