feat: balancer dashboard metrics + fix WebSocket Hijacker
This commit is contained in:
@@ -177,6 +177,19 @@ func main() {
|
||||
}
|
||||
}()
|
||||
|
||||
// 6.2 Periodic WS broadcast + FS stats poll
|
||||
go func() {
|
||||
ticker := time.NewTicker(5 * time.Second)
|
||||
for range ticker.C {
|
||||
if eslClient != nil && eslClient.IsConnected() {
|
||||
if stats, err := eslClient.FetchFsStats(); err == nil {
|
||||
apiHandler.UpdateFsStats(stats)
|
||||
}
|
||||
}
|
||||
apiHandler.BroadcastAll()
|
||||
}
|
||||
}()
|
||||
|
||||
// Подключаем раздачу SvelteKit статики, если директория существует
|
||||
webDir := findWebDir(exeDir)
|
||||
if webDir != "" {
|
||||
@@ -240,9 +253,9 @@ func main() {
|
||||
func findWebDir(exeDir string) string {
|
||||
candidates := []string{
|
||||
os.Getenv("PULSE_WEB_DIR"),
|
||||
"web/build", // ./web/build (CWD — dev, systemd working dir)
|
||||
filepath.Join(filepath.Dir(exeDir), "web", "build"), // ../web/build (корень проекта, dev с bin/)
|
||||
filepath.Join(exeDir, "web", "build"), // рядом с бинарником (production install, make deploy)
|
||||
"web/build", // ./web/build (CWD — dev, systemd working dir)
|
||||
filepath.Join(filepath.Dir(exeDir), "web", "build"), // ../web/build (корень проекта, dev с bin/)
|
||||
filepath.Join(exeDir, "web", "build"), // рядом с бинарником (production install, make deploy)
|
||||
}
|
||||
for _, d := range candidates {
|
||||
if d == "" {
|
||||
|
||||
Reference in New Issue
Block a user