From 5082a10a18b76b8772e88bceed6b6f9e48965b30 Mon Sep 17 00:00:00 2001 From: Sergey Cherepanov Date: Mon, 24 Apr 2023 15:04:11 +0200 Subject: [PATCH] nodeconf update interval config --- nodeconf/config.go | 4 ++++ nodeconf/service.go | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/nodeconf/config.go b/nodeconf/config.go index 911ee745..1d117d88 100644 --- a/nodeconf/config.go +++ b/nodeconf/config.go @@ -9,6 +9,10 @@ type ConfigGetter interface { GetNodeConf() Configuration } +type ConfigUpdateGetter interface { + GetNodeConfUpdateInterval() int +} + var ( ErrConfigurationNotFound = errors.New("node nodeConf not found") ) diff --git a/nodeconf/service.go b/nodeconf/service.go index 3f12e462..ef2dd9ef 100644 --- a/nodeconf/service.go +++ b/nodeconf/service.go @@ -49,7 +49,12 @@ func (s *service) Init(a *app.App) (err error) { lastStored = s.config err = nil } - s.sync = periodicsync.NewPeriodicSync(600, 0, func(ctx context.Context) (err error) { + var updatePeriodSec = 600 + if confUpd, ok := a.MustComponent("config").(ConfigUpdateGetter); ok && confUpd.GetNodeConfUpdateInterval() > 0 { + updatePeriodSec = confUpd.GetNodeConfUpdateInterval() + } + + s.sync = periodicsync.NewPeriodicSync(updatePeriodSec, 0, func(ctx context.Context) (err error) { err = s.updateConfiguration(ctx) if err != nil { if err == ErrConfigurationNotChanged {