forked from TrueCloudLab/frostfs-node
[#414] ir: Implement HealthChecker on Server
`HealthChecker` interface is required to construct `ControlServiceServer`. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
dcfe9a6504
commit
567421a9b5
2 changed files with 11 additions and 0 deletions
|
@ -60,6 +60,7 @@ type (
|
||||||
statusIndex *innerRingIndexer
|
statusIndex *innerRingIndexer
|
||||||
precision precision.Fixed8Converter
|
precision precision.Fixed8Converter
|
||||||
auditClient *auditWrapper.ClientWrapper
|
auditClient *auditWrapper.ClientWrapper
|
||||||
|
healthStatus atomic.Value
|
||||||
|
|
||||||
// notary configuration
|
// notary configuration
|
||||||
feeConfig *config.FeeConfig
|
feeConfig *config.FeeConfig
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/services/audit"
|
"github.com/nspcc-dev/neofs-node/pkg/services/audit"
|
||||||
|
control "github.com/nspcc-dev/neofs-node/pkg/services/control/ir"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -130,3 +131,12 @@ func (s *Server) WriteReport(r *audit.Report) error {
|
||||||
func (s *Server) ResetEpochTimer() error {
|
func (s *Server) ResetEpochTimer() error {
|
||||||
return s.epochTimer.Reset()
|
return s.epochTimer.Reset()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Server) setHealthStatus(hs control.HealthStatus) {
|
||||||
|
s.healthStatus.Store(hs)
|
||||||
|
}
|
||||||
|
|
||||||
|
// HealthStatus returns current health status of IR application.
|
||||||
|
func (s *Server) HealthStatus() control.HealthStatus {
|
||||||
|
return s.healthStatus.Load().(control.HealthStatus)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue