discovery service
This commit is contained in:
27
api/pkg/discovery/instanceid.go
Normal file
27
api/pkg/discovery/instanceid.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package discovery
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
var (
|
||||
instanceID string
|
||||
instanceOnce sync.Once
|
||||
instanceIDGenerator = func() string {
|
||||
return uuid.NewString()
|
||||
}
|
||||
)
|
||||
|
||||
// InstanceID returns a unique, process-stable identifier for the running service instance.
|
||||
func InstanceID() string {
|
||||
instanceOnce.Do(func() {
|
||||
instanceID = strings.TrimSpace(instanceIDGenerator())
|
||||
if instanceID == "" {
|
||||
instanceID = uuid.NewString()
|
||||
}
|
||||
})
|
||||
return instanceID
|
||||
}
|
||||
Reference in New Issue
Block a user