mirror of
https://github.com/wyx2685/V2bX.git
synced 2026-02-04 12:40:11 +00:00
add watch config option
This commit is contained in:
27
main.go
27
main.go
@@ -15,6 +15,7 @@ import (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
configFile = flag.String("config", "/etc/V2bX/config.yml", "Config file for V2bX.")
|
configFile = flag.String("config", "/etc/V2bX/config.yml", "Config file for V2bX.")
|
||||||
|
watch = flag.Bool("watch", true, "Watch config file for changes.")
|
||||||
printVersion = flag.Bool("version", false, "show version")
|
printVersion = flag.Bool("version", false, "show version")
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -51,20 +52,22 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("run nodes error: %s", err)
|
log.Panicf("run nodes error: %s", err)
|
||||||
}
|
}
|
||||||
err = config.Watch(*configFile, func() {
|
if *watch {
|
||||||
nodes.Close()
|
err = config.Watch(*configFile, func() {
|
||||||
err = x.Restart(config)
|
nodes.Close()
|
||||||
|
err = x.Restart(config)
|
||||||
|
if err != nil {
|
||||||
|
log.Panicf("Failed to restart core: %s", err)
|
||||||
|
}
|
||||||
|
err = nodes.Start(config.NodesConfig, x)
|
||||||
|
if err != nil {
|
||||||
|
log.Panicf("run nodes error: %s", err)
|
||||||
|
}
|
||||||
|
runtime.GC()
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("Failed to restart core: %s", err)
|
log.Panicf("watch config file error: %s", err)
|
||||||
}
|
}
|
||||||
err = nodes.Start(config.NodesConfig, x)
|
|
||||||
if err != nil {
|
|
||||||
log.Panicf("run nodes error: %s", err)
|
|
||||||
}
|
|
||||||
runtime.GC()
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
log.Panicf("watch config file error: %s", err)
|
|
||||||
}
|
}
|
||||||
//Explicitly triggering GC to remove garbage from config loading.
|
//Explicitly triggering GC to remove garbage from config loading.
|
||||||
runtime.GC()
|
runtime.GC()
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// Package node the InbounderConfig used by add inbound
|
|
||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
Reference in New Issue
Block a user