From 69012b9cc30abb50f748c8cb83856d70bf256a27 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 29 Mar 2025 13:51:53 +0800 Subject: [PATCH] :necktie: Make the just added service status up & running --- pkg/internal/directory/service_mapping.go | 6 ++++-- pkg/internal/directory/validator.go | 12 ++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/internal/directory/service_mapping.go b/pkg/internal/directory/service_mapping.go index a319d89..7374170 100644 --- a/pkg/internal/directory/service_mapping.go +++ b/pkg/internal/directory/service_mapping.go @@ -2,14 +2,15 @@ package directory import ( "context" + "math/rand" + "time" + "git.solsynth.dev/hypernet/nexus/pkg/internal/kv" "git.solsynth.dev/hypernet/nexus/pkg/nex" "git.solsynth.dev/hypernet/nexus/pkg/proto" "github.com/goccy/go-json" "github.com/rs/zerolog/log" clientv3 "go.etcd.io/etcd/client/v3" - "math/rand" - "time" ) const ServiceInfoKvPrefix = "nexus.service/" @@ -22,6 +23,7 @@ func AddServiceInstance(in *ServiceInstance) error { } _, err = kv.Kv.Put(context.Background(), key, string(data)) + SetServiceStatus(in.Type, true) return err } diff --git a/pkg/internal/directory/validator.go b/pkg/internal/directory/validator.go index 2710cb4..677fad4 100644 --- a/pkg/internal/directory/validator.go +++ b/pkg/internal/directory/validator.go @@ -6,8 +6,10 @@ import ( "github.com/rs/zerolog/log" ) -var statusOfServices = make(map[string]bool) -var statusLock sync.Mutex +var ( + statusOfServices = make(map[string]bool) + statusLock sync.Mutex +) func GetServiceStatus() map[string]bool { out := make(map[string]bool) @@ -25,6 +27,12 @@ func GetServiceStatus() map[string]bool { return out } +func SetServiceStatus(t string, status bool) { + statusLock.Lock() + defer statusLock.Unlock() + statusOfServices[t] = status +} + func ValidateServices() { statusLock.Lock() defer statusLock.Unlock()