Controll cache with env vars

pull/1165/head
kompotkot 2025-01-26 12:19:33 +00:00
rodzic 21e61fdf31
commit 8ca67d8463
3 zmienionych plików z 40 dodań i 5 usunięć

Wyświetl plik

@ -43,13 +43,16 @@ var (
NB_ENABLE_DEBUG = false
NB_CONNECTION_RETRIES = 2
NB_CONNECTION_RETRIES_INTERVAL = time.Millisecond * 10
NB_CONNECTION_RETRIES_INTERVAL = time.Millisecond * 10000
NB_HEALTH_CHECK_INTERVAL = os.Getenv("NB_HEALTH_CHECK_INTERVAL")
NB_HEALTH_CHECK_CALL_TIMEOUT = time.Second * 2
NB_CACHE_CLEANING_INTERVAL = time.Second * 10
NB_CACHE_ACCESS_ID_LIFETIME = int64(120) // 2 minutes
NB_CACHE_ACCESS_ID_SESSION_LIFETIME = int64(600) // 10 minutes
NB_CACHE_CLEANING_INTERVAL = 10
NB_CACHE_CLEANING_INTERVAL_RAW = os.Getenv("NB_CACHE_CLEANING_INTERVAL")
NB_CACHE_ACCESS_ID_LIFETIME = int64(120) // After 2 minutes, the access ID will be deleted from the cache if there has been no activity
NB_CACHE_ACCESS_ID_LIFETIME_RAW = os.Getenv("NB_CACHE_ACCESS_ID_LIFETIME")
NB_CACHE_ACCESS_ID_SESSION_LIFETIME = int64(900) // After 15 minutes, the access ID will be deleted from the cache to refresh access limits
NB_CACHE_ACCESS_ID_SESSION_LIFETIME_RAW = os.Getenv("NB_CACHE_ACCESS_ID_SESSION_LIFETIME")
NB_MAX_COUNTER_NUMBER = uint64(10000000)
@ -95,6 +98,35 @@ func CheckEnvVarSet() {
for _, o := range strings.Split(MOONSTREAM_CORS_ALLOWED_ORIGINS, ",") {
CORS_WHITELIST_MAP[o] = true
}
// Cache variables
if NB_CACHE_CLEANING_INTERVAL_RAW != "" {
nbCacheCleaningInterval, atoiErr := strconv.Atoi(NB_CACHE_CLEANING_INTERVAL_RAW)
if atoiErr != nil {
log.Printf("Unable to parse environment variable NB_CACHE_CLEANING_INTERVAL as integer and set to default %d, err: %v", NB_CACHE_CLEANING_INTERVAL, atoiErr)
} else {
NB_CACHE_CLEANING_INTERVAL = nbCacheCleaningInterval
fmt.Println(123, NB_CACHE_CLEANING_INTERVAL)
}
}
if NB_CACHE_ACCESS_ID_LIFETIME_RAW != "" {
nbCacheAccessIdLifetime, atoiErr := strconv.Atoi(NB_CACHE_ACCESS_ID_LIFETIME_RAW)
if atoiErr != nil {
log.Printf("Unable to parse environment variable NB_CACHE_ACCESS_ID_LIFETIME as integer and set to default %d, err: %v", NB_CACHE_ACCESS_ID_LIFETIME, atoiErr)
} else {
NB_CACHE_ACCESS_ID_LIFETIME = int64(nbCacheAccessIdLifetime)
}
}
if NB_CACHE_ACCESS_ID_SESSION_LIFETIME_RAW != "" {
nbCacheAccessIdSessionLifetime, atoiErr := strconv.Atoi(NB_CACHE_ACCESS_ID_SESSION_LIFETIME_RAW)
if atoiErr != nil {
log.Printf("Unable to parse environment variable NB_CACHE_ACCESS_ID_SESSION_LIFETIME as integer and set to default %d, err: %v", NB_CACHE_ACCESS_ID_SESSION_LIFETIME, atoiErr)
} else {
NB_CACHE_ACCESS_ID_SESSION_LIFETIME = int64(nbCacheAccessIdSessionLifetime)
}
}
}
// Nodes configuration

Wyświetl plik

@ -195,7 +195,7 @@ func (ac *AccessCache) Cleanup() (int64, int64) {
}
func initCacheCleaning(debug bool) {
t := time.NewTicker(NB_CACHE_CLEANING_INTERVAL)
t := time.NewTicker(time.Second * time.Duration(NB_CACHE_CLEANING_INTERVAL))
for {
select {
case <-t.C:

Wyświetl plik

@ -6,6 +6,9 @@ export MOONSTREAM_CORS_ALLOWED_ORIGINS="http://localhost:3000,https://moonstream
export NB_CONTROLLER_USER_ID="<bugout_id_of_nodebalancer_user>"
export NB_CONTROLLER_TOKEN="<token_of_nodebalancer_user>"
export NB_CONTROLLER_ACCESS_ID="<nodebalancer_access_id_for_internal_usage>"
export NB_CACHE_CLEANING_INTERVAL=10
export NB_CACHE_ACCESS_ID_LIFETIME=120
export NB_CACHE_ACCESS_ID_SESSION_LIFETIME=900
# Error humbug reporter
export HUMBUG_REPORTER_NODE_BALANCER_TOKEN="<bugout_humbug_token_for_crash_reports>"