mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-05 03:42:08 +08:00
46 lines
970 B
Go
46 lines
970 B
Go
package mageutil
|
|
|
|
import (
|
|
"gopkg.in/yaml.v3"
|
|
"io/ioutil"
|
|
"log"
|
|
"runtime"
|
|
)
|
|
|
|
var (
|
|
serviceBinaries map[string]int
|
|
toolBinaries []string
|
|
MaxFileDescriptors int
|
|
)
|
|
|
|
type Config struct {
|
|
ServiceBinaries map[string]int `yaml:"serviceBinaries"`
|
|
ToolBinaries []string `yaml:"toolBinaries"`
|
|
MaxFileDescriptors int `yaml:"maxFileDescriptors"`
|
|
}
|
|
|
|
func InitForSSC() {
|
|
yamlFile, err := ioutil.ReadFile("start-config.yml")
|
|
if err != nil {
|
|
log.Fatalf("error reading YAML file: %v", err)
|
|
}
|
|
|
|
var config Config
|
|
err = yaml.Unmarshal(yamlFile, &config)
|
|
if err != nil {
|
|
log.Fatalf("error unmarshalling YAML: %v", err)
|
|
}
|
|
|
|
adjustedBinaries := make(map[string]int)
|
|
for binary, count := range config.ServiceBinaries {
|
|
if runtime.GOOS == "windows" {
|
|
binary += ".exe"
|
|
}
|
|
adjustedBinaries[binary] = count
|
|
}
|
|
|
|
serviceBinaries = adjustedBinaries
|
|
toolBinaries = config.ToolBinaries
|
|
MaxFileDescriptors = config.MaxFileDescriptors
|
|
}
|