fix bug of server deploy
This commit is contained in:
parent
2a3852a246
commit
befb4e8971
|
|
@ -16,6 +16,7 @@ type BaseConfig struct {
|
||||||
|
|
||||||
// ServiceConfig define config struct of service config
|
// ServiceConfig define config struct of service config
|
||||||
type ServiceConfig struct {
|
type ServiceConfig struct {
|
||||||
|
ServiceAddr string `mapstructure:"service_addr"`
|
||||||
ServiceName string `mapstructure:"service_name"`
|
ServiceName string `mapstructure:"service_name"`
|
||||||
SecretKey string `mapstructure:"secret_key"`
|
SecretKey string `mapstructure:"secret_key"`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ package constants
|
||||||
const (
|
const (
|
||||||
// DevelopmentLogMode define development operator environment for modelRT project
|
// DevelopmentLogMode define development operator environment for modelRT project
|
||||||
DevelopmentLogMode = "development"
|
DevelopmentLogMode = "development"
|
||||||
|
// DebugLogMode define debug operator environment for modelRT project
|
||||||
|
DebugLogMode = "debug"
|
||||||
// ProductionLogMode define production operator environment for modelRT project
|
// ProductionLogMode define production operator environment for modelRT project
|
||||||
ProductionLogMode = "production"
|
ProductionLogMode = "production"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,12 @@ docker logs redis
|
||||||
##### 2.4.1 Postgres数据注入
|
##### 2.4.1 Postgres数据注入
|
||||||
|
|
||||||
```SQL
|
```SQL
|
||||||
|
insert into public.grid(id,tagname,name,description,op,ts) VALUES (1, 'grid1', '网格1', '测试网格1', -1,CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
|
insert into public.zone(id,grid_id,tagname,name,description,op,ts) VALUES (1, 1,'zone1', '区域1_1', '测试区域1_1', -1,CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
|
insert into public.station(id,zone_id,tagname,name,description,is_local,op,ts) VALUES (1, 1,'station1', '站1_1_1', '测试站1_1_1', true, -1,CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
INSERT INTO public.topologic(flag, uuid_from, uuid_to, context, description, op, ts)
|
INSERT INTO public.topologic(flag, uuid_from, uuid_to, context, description, op, ts)
|
||||||
VALUES
|
VALUES
|
||||||
(1, '00000000-0000-0000-0000-000000000000', '70c190f2-8a60-42a9-b143-ec5f87e0aa6b', '{}', '', 1, CURRENT_TIMESTAMP),
|
(1, '00000000-0000-0000-0000-000000000000', '70c190f2-8a60-42a9-b143-ec5f87e0aa6b', '{}', '', 1, CURRENT_TIMESTAMP),
|
||||||
|
|
@ -98,7 +104,6 @@ VALUES
|
||||||
(1, 'e32bc0be-67f4-4d79-a5da-eaa40a5bd77d', '968dd6e6-faec-4f78-b58a-d6e68426b09e', '{}', '', 1, CURRENT_TIMESTAMP),
|
(1, 'e32bc0be-67f4-4d79-a5da-eaa40a5bd77d', '968dd6e6-faec-4f78-b58a-d6e68426b09e', '{}', '', 1, CURRENT_TIMESTAMP),
|
||||||
(1, 'e32bc0be-67f4-4d79-a5da-eaa40a5bd77d', '968dd6e6-faec-4f78-b58a-d6e68426b08e', '{}', '', 1, CURRENT_TIMESTAMP);
|
(1, 'e32bc0be-67f4-4d79-a5da-eaa40a5bd77d', '968dd6e6-faec-4f78-b58a-d6e68426b08e', '{}', '', 1, CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO public.bay (bay_uuid, name, tag, type, unom, fla, capacity, description, in_service, state, grid, zone, station, business, context, from_uuids, to_uuids, dev_protect, dev_fault_record, dev_status, dev_dyn_sense, dev_instruct, dev_etc, components, op, ts)
|
INSERT INTO public.bay (bay_uuid, name, tag, type, unom, fla, capacity, description, in_service, state, grid, zone, station, business, context, from_uuids, to_uuids, dev_protect, dev_fault_record, dev_status, dev_dyn_sense, dev_instruct, dev_etc, components, op, ts)
|
||||||
VALUES (
|
VALUES (
|
||||||
'18e71a24-694a-43fa-93a7-c4d02a27d1bc',
|
'18e71a24-694a-43fa-93a7-c4d02a27d1bc',
|
||||||
|
|
@ -128,7 +133,7 @@ VALUES
|
||||||
(
|
(
|
||||||
'968dd6e6-faec-4f78-b58a-d6e68426b09e',
|
'968dd6e6-faec-4f78-b58a-d6e68426b09e',
|
||||||
'ns1', 'tag1', 'component1', '', '',
|
'ns1', 'tag1', 'component1', '', '',
|
||||||
'grid1', 'zone1', 'station1',
|
'grid1', 'zone1_1', 'station1_1',
|
||||||
-1,
|
-1,
|
||||||
false,
|
false,
|
||||||
-1, -1,
|
-1, -1,
|
||||||
|
|
@ -141,7 +146,7 @@ VALUES
|
||||||
(
|
(
|
||||||
'968dd6e6-faec-4f78-b58a-d6e68426b08e',
|
'968dd6e6-faec-4f78-b58a-d6e68426b08e',
|
||||||
'ns1', 'tag2', 'component2', '', '',
|
'ns1', 'tag2', 'component2', '', '',
|
||||||
'grid1', 'zone1', 'station1',
|
'grid1', 'zone1_1', 'station1_1',
|
||||||
-1,
|
-1,
|
||||||
false,
|
false,
|
||||||
-1, -1,
|
-1, -1,
|
||||||
|
|
@ -152,19 +157,11 @@ VALUES
|
||||||
CURRENT_TIMESTAMP
|
CURRENT_TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO public.measurement (tag, name, type, size, data_source, event_plan, bay_uuid, component_uuid, op, ts)
|
INSERT INTO public.measurement (id, tag, name, type, size, data_source, event_plan, bay_uuid, component_uuid, op, ts)
|
||||||
VALUES (
|
VALUES
|
||||||
'I11_C_rms',
|
(3, 'I11_C_rms', '45母甲侧互连电流C相1', -1, 200, '{"type": 1, "io_address": {"device": "ssu001", "channel": "TM1", "station": "001"}}', '{"cause": {"up": 55.0, "down": 45.0}, "action": {"command": "warning", "parameters": ["I段母线甲侧互连电流C相1"]}, "enable": true}', '18e71a24-694a-43fa-93a7-c4d02a27d1bc', '968dd6e6-faec-4f78-b58a-d6e68426b09e', -1, CURRENT_TIMESTAMP),
|
||||||
'45母甲侧互连电流C相1',
|
(4, 'I11_B_rms', '45母甲侧互连电流B相1', -1, 300, '{"type": 1, "io_address": {"device": "ssu001", "channel": "TM2", "station": "001"}}', '{"cause": {"upup": 65, "downdown": 35}, "action": {"command": "warning", "parameters": ["I段母线甲侧互连电流B相1"]}, "enable": true}', '18e71a24-694a-43fa-93a7-c4d02a27d1bc', '968dd6e6-faec-4f78-b58a-d6e68426b09e', -1, CURRENT_TIMESTAMP),
|
||||||
-1,
|
(5, 'I11_A_rms', '45母甲侧互连电流A相1', -1, 300, '{"type": 1, "io_address": {"device": "ssu001", "channel": "TM3", "station": "001"}}', '{"cause": {"up": 55, "down": 45, "upup": 65, "downdown": 35}, "action": {"command": "warning", "parameters": ["I段母线甲侧互连电流A相1"]}, "enable": true}', '18e71a24-694a-43fa-93a7-c4d02a27d1bc', '968dd6e6-faec-4f78-b58a-d6e68426b09e', -1, CURRENT_TIMESTAMP);
|
||||||
200,
|
|
||||||
'{"type": 1, "io_address": {"device": "ssu001", "channel": "Telemetry1", "station": "001"}}',
|
|
||||||
'{"cause": {"up": 55.0, "down": 45.0}, "action": {"command": "warning", "parameters": ["I段母线甲侧互连电流C相1"]}, "enable": true}',
|
|
||||||
'18e71a24-694a-43fa-93a7-c4d02a27d1bc',
|
|
||||||
'968dd6e6-faec-4f78-b58a-d6e68426b09e',
|
|
||||||
-1,
|
|
||||||
CURRENT_TIMESTAMP
|
|
||||||
);
|
|
||||||
```
|
```
|
||||||
|
|
||||||
##### 2.4.2 Redis数据注入
|
##### 2.4.2 Redis数据注入
|
||||||
|
|
|
||||||
2
go.mod
2
go.mod
|
|
@ -1,6 +1,6 @@
|
||||||
module modelRT
|
module modelRT
|
||||||
|
|
||||||
go 1.24.1
|
go 1.24
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/DATA-DOG/go-sqlmock v1.5.2
|
github.com/DATA-DOG/go-sqlmock v1.5.2
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,10 @@
|
||||||
package logger
|
package logger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
|
"time"
|
||||||
|
|
||||||
"modelRT/config"
|
"modelRT/config"
|
||||||
"modelRT/constants"
|
"modelRT/constants"
|
||||||
|
|
@ -32,8 +34,10 @@ func getEncoder() zapcore.Encoder {
|
||||||
|
|
||||||
// getLogWriter responsible for setting the location of log storage
|
// getLogWriter responsible for setting the location of log storage
|
||||||
func getLogWriter(mode, filename string, maxsize, maxBackup, maxAge int, compress bool) zapcore.WriteSyncer {
|
func getLogWriter(mode, filename string, maxsize, maxBackup, maxAge int, compress bool) zapcore.WriteSyncer {
|
||||||
|
dateStr := time.Now().Format("2006-01-02 15:04:05")
|
||||||
|
finalFilename := fmt.Sprintf(filename, dateStr)
|
||||||
lumberJackLogger := &lumberjack.Logger{
|
lumberJackLogger := &lumberjack.Logger{
|
||||||
Filename: filename, // log file position
|
Filename: finalFilename, // log file position
|
||||||
MaxSize: maxsize, // log file maxsize
|
MaxSize: maxsize, // log file maxsize
|
||||||
MaxAge: maxAge, // maximum number of day files retained
|
MaxAge: maxAge, // maximum number of day files retained
|
||||||
MaxBackups: maxBackup, // maximum number of old files retained
|
MaxBackups: maxBackup, // maximum number of old files retained
|
||||||
|
|
|
||||||
18
main.go
18
main.go
|
|
@ -3,7 +3,9 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"flag"
|
"flag"
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
|
@ -72,9 +74,6 @@ func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
|
|
||||||
// init logger
|
|
||||||
logger.InitLoggerInstance(modelRTConfig.LoggerConfig)
|
|
||||||
|
|
||||||
configPath := filepath.Join(*modelRTConfigDir, *modelRTConfigName+"."+*modelRTConfigType)
|
configPath := filepath.Join(*modelRTConfigDir, *modelRTConfigName+"."+*modelRTConfigType)
|
||||||
if _, err := os.Stat(configPath); os.IsNotExist(err) {
|
if _, err := os.Stat(configPath); os.IsNotExist(err) {
|
||||||
logger.Info(ctx, "configuration file not found,checking for example file")
|
logger.Info(ctx, "configuration file not found,checking for example file")
|
||||||
|
|
@ -82,17 +81,20 @@ func main() {
|
||||||
exampleConfigPath := filepath.Join(*modelRTConfigDir, *modelRTConfigName+".example."+*modelRTConfigType)
|
exampleConfigPath := filepath.Join(*modelRTConfigDir, *modelRTConfigName+".example."+*modelRTConfigType)
|
||||||
if _, err := os.Stat(exampleConfigPath); err == nil {
|
if _, err := os.Stat(exampleConfigPath); err == nil {
|
||||||
if err := util.CopyFile(exampleConfigPath, configPath); err != nil {
|
if err := util.CopyFile(exampleConfigPath, configPath); err != nil {
|
||||||
logger.Error(ctx, "failed to copy example config file", "error", err)
|
panicErr := fmt.Errorf("failed to copy example config file:%w", err)
|
||||||
panic(err)
|
panic(panicErr)
|
||||||
}
|
}
|
||||||
logger.Info(ctx, "successfully copied example config to actual config file")
|
|
||||||
} else {
|
} else {
|
||||||
logger.Error(ctx, "No config file and no config example file found.")
|
panicErr := errors.New("no config file and no config example file found")
|
||||||
|
panic(panicErr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
modelRTConfig = config.ReadAndInitConfig(*modelRTConfigDir, *modelRTConfigName, *modelRTConfigType)
|
modelRTConfig = config.ReadAndInitConfig(*modelRTConfigDir, *modelRTConfigName, *modelRTConfigType)
|
||||||
|
|
||||||
|
// init logger
|
||||||
|
logger.InitLoggerInstance(modelRTConfig.LoggerConfig)
|
||||||
|
|
||||||
hostName, err := os.Hostname()
|
hostName, err := os.Hostname()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(ctx, "get host name failed", "error", err)
|
logger.Error(ctx, "get host name failed", "error", err)
|
||||||
|
|
@ -210,7 +212,7 @@ func main() {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
server := http.Server{
|
server := http.Server{
|
||||||
Addr: ":8080",
|
Addr: modelRTConfig.ServiceConfig.ServiceAddr,
|
||||||
Handler: engine,
|
Handler: engine,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue