kopia lustrzana https://github.com/bugout-dev/moonstream
Merge pull request #1165 from moonstream-to/nb-cache-controll-env
Controll cache with env varspull/1166/head
commit
e036c5b0bc
|
@ -43,13 +43,17 @@ var (
|
|||
NB_ENABLE_DEBUG = false
|
||||
|
||||
NB_CONNECTION_RETRIES = 2
|
||||
NB_CONNECTION_RETRIES_INTERVAL = time.Millisecond * 10
|
||||
NB_HEALTH_CHECK_INTERVAL = os.Getenv("NB_HEALTH_CHECK_INTERVAL")
|
||||
NB_CONNECTION_RETRIES_INTERVAL = time.Second * 5
|
||||
NB_HEALTH_CHECK_INTERVAL = 30
|
||||
NB_HEALTH_CHECK_INTERVAL_RAW = 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 +99,44 @@ func CheckEnvVarSet() {
|
|||
for _, o := range strings.Split(MOONSTREAM_CORS_ALLOWED_ORIGINS, ",") {
|
||||
CORS_WHITELIST_MAP[o] = true
|
||||
}
|
||||
|
||||
// Health check variables
|
||||
if NB_HEALTH_CHECK_INTERVAL_RAW != "" {
|
||||
healthCheckInterval, atoiErr := strconv.Atoi(NB_HEALTH_CHECK_INTERVAL_RAW)
|
||||
if atoiErr != nil {
|
||||
log.Printf("Unable to parse environment variable NB_HEALTH_CHECK_INTERVAL as integer and set to default %d, err: %v", NB_HEALTH_CHECK_INTERVAL, atoiErr)
|
||||
} else {
|
||||
NB_HEALTH_CHECK_INTERVAL = healthCheckInterval
|
||||
}
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -10,7 +10,6 @@ import (
|
|||
"net/http"
|
||||
"net/http/httputil"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
@ -27,11 +26,7 @@ var (
|
|||
|
||||
// initHealthCheck runs a routine for check status of the nodes every 5 seconds
|
||||
func initHealthCheck(debug bool) {
|
||||
healthCheckInterval, convErr := strconv.Atoi(NB_HEALTH_CHECK_INTERVAL)
|
||||
if convErr != nil {
|
||||
healthCheckInterval = 30
|
||||
}
|
||||
t := time.NewTicker(time.Second * time.Duration(healthCheckInterval))
|
||||
t := time.NewTicker(time.Second * time.Duration(NB_HEALTH_CHECK_INTERVAL))
|
||||
for {
|
||||
select {
|
||||
case <-t.C:
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
package main
|
||||
|
||||
var NB_VERSION = "0.2.8"
|
||||
var NB_VERSION = "0.2.9"
|
||||
|
|
|
@ -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>"
|
||||
|
|
Ładowanie…
Reference in New Issue