@@ -196,21 +196,7 @@ func BuildManager(
196
196
permissionsManager : permissionsManager ,
197
197
}
198
198
199
- var initialInterval int64
200
- intervalStr := os .Getenv ("PEER_UPDATE_INTERVAL_MS" )
201
- interval , err := strconv .Atoi (intervalStr )
202
- if err != nil {
203
- initialInterval = 1
204
- } else {
205
- initialInterval = int64 (interval ) * 10
206
- go func () {
207
- time .Sleep (30 * time .Second )
208
- am .updateAccountPeersBufferInterval .Store (int64 (time .Duration (interval ) * time .Millisecond ))
209
- log .WithContext (ctx ).Infof ("set peer update buffer interval to %dms" , interval )
210
- }()
211
- }
212
- am .updateAccountPeersBufferInterval .Store (initialInterval )
213
- log .WithContext (ctx ).Infof ("set peer update buffer interval to %dms" , initialInterval )
199
+ am .startWarmup (ctx )
214
200
215
201
accountsCounter , err := store .GetAccountsCounter (ctx )
216
202
if err != nil {
@@ -254,6 +240,32 @@ func BuildManager(
254
240
return am , nil
255
241
}
256
242
243
+ func (am * DefaultAccountManager ) startWarmup (ctx context.Context ) {
244
+ var initialInterval int64
245
+ intervalStr := os .Getenv ("NB_PEER_UPDATE_INTERVAL_MS" )
246
+ interval , err := strconv .Atoi (intervalStr )
247
+ if err != nil {
248
+ initialInterval = 1
249
+ log .WithContext (ctx ).Warnf ("failed to parse peer update interval, using default value %dms: %v" , initialInterval , err )
250
+ } else {
251
+ initialInterval = int64 (interval ) * 10
252
+ go func () {
253
+ startupPeriodStr := os .Getenv ("NB_PEER_UPDATE_STARTUP_PERIOD_S" )
254
+ startupPeriod , err := strconv .Atoi (startupPeriodStr )
255
+ if err != nil {
256
+ startupPeriod = 1
257
+ log .WithContext (ctx ).Warnf ("failed to parse peer update startup period, using default value %ds: %v" , startupPeriod , err )
258
+ }
259
+ time .Sleep (time .Duration (startupPeriod ) * time .Second )
260
+ am .updateAccountPeersBufferInterval .Store (int64 (time .Duration (interval ) * time .Millisecond ))
261
+ log .WithContext (ctx ).Infof ("set peer update buffer interval to %dms" , interval )
262
+ }()
263
+ }
264
+ am .updateAccountPeersBufferInterval .Store (initialInterval )
265
+ log .WithContext (ctx ).Infof ("set peer update buffer interval to %dms" , initialInterval )
266
+
267
+ }
268
+
257
269
func (am * DefaultAccountManager ) GetExternalCacheManager () account.ExternalCacheManager {
258
270
return am .externalCacheManager
259
271
}
0 commit comments