Skip to content

Commit

Permalink
Merge branch 'master'
Browse files Browse the repository at this point in the history
  • Loading branch information
lzw5399 committed Mar 30, 2021
2 parents ecdc252 + adbea7a commit bb50a05
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/config/appsettings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ db:
database: postgres
username: postgres
password: pwd
auto_migrate: false # 自动迁移
max_idle_conn: 20 # 最多的空闲连接数,默认2
max_open_conn: 50 # 最多的打开连接数,默认0(无限制)
log_mode: true # false的话gorm只会输出错误日志,true会输出详细日志
auto_migrate: false # 自动迁移
2 changes: 1 addition & 1 deletion src/service/instanceservice.go
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ func getPossibleTrainNode(definitionStructure dto.Structure, currentNodeId strin
dependencies = append(dependencies, currentNodeId)
for _, edge := range definitionStructure.Edges {
// 找到edge的source是当前nodeId的edge
if edge.Source == currentNodeId {
if edge.Source == currentNodeId && edge.FlowProperties != "0" {
targetNodeIds = append(targetNodeIds, edge.Target)
}
}
Expand Down
19 changes: 14 additions & 5 deletions src/util/envloader.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ package util

import (
"fmt"
"log"
"os"
"reflect"
"strconv"
Expand All @@ -24,18 +25,23 @@ func LoadEnv(val interface{}) {
return
}

loadEnvToStruct(v, []string{})
loadEnvToStruct(v, []string{}, 1)
}

func loadEnvToStruct(v reflect.Value, dependencies []string) {
func loadEnvToStruct(v reflect.Value, dependencies []string, deepLevel int) {
num := v.NumField()
for i := 0; i < num; i++ {
if deepLevel == 1 {
dependencies = []string{}
}
f := v.Field(i)
fieldName := v.Type().Field(i).Name

envValue := os.Getenv(genDependenciesString(dependencies, fieldName))
envKey := genDependenciesString(dependencies, fieldName)
envValue := os.Getenv(envKey)

if envValue == "" || !f.CanSet() {
if f.Kind() != reflect.Struct && (envValue == "" || !f.CanSet()) {
log.Printf("【环境变量配置加载】当前envKey为: %s 的环境变量为空, 将跳过", envKey)
continue
}

Expand All @@ -44,19 +50,22 @@ func loadEnvToStruct(v reflect.Value, dependencies []string) {
f.SetString(envValue)
case reflect.Bool:
if value, err := strconv.ParseBool(envValue); err == nil {
log.Printf("【环境变量配置加载】当前envKey为: %s 的环境变量已成功替换", envKey)
f.SetBool(value)
}
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
if value, err := strconv.Atoi(envValue); err == nil {
log.Printf("【环境变量配置加载】当前envKey为: %s 的环境变量已替换", envKey)
f.SetInt(int64(value))
}
case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
if value, err := strconv.Atoi(envValue); err == nil {
log.Printf("【环境变量配置加载】当前envKey为: %s 的环境变量已替换", envKey)
f.SetUint(uint64(value))
}
case reflect.Struct:
dependencies = append(dependencies, fieldName)
loadEnvToStruct(f, dependencies)
loadEnvToStruct(f, dependencies, deepLevel+1)
}
}
}
Expand Down

0 comments on commit bb50a05

Please sign in to comment.