diff --git a/config/config_defaults.go b/config/config_defaults.go index 591c80982..b8749f0c1 100755 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -74,31 +74,31 @@ const CGRATES_CFG_JSON = ` "remote_conns":[], "replication_conns":[], "items":{ - "*accounts":{"remote":false,"replicate":false,"ttl": ""}, - "*reverse_destinations": {"remote":false,"replicate":false,"ttl": ""}, - "*destinations": {"remote":false,"replicate":false,"ttl": ""}, - "*rating_plans": {"remote":false,"replicate":false,"ttl": ""}, - "*rating_profiles":{"remote":false,"replicate":false,"ttl": ""}, - "*actions":{"remote":false,"replicate":false,"ttl": ""}, - "*action_plans": {"remote":false,"replicate":false,"ttl": ""}, - "*account_action_plans":{"remote":false,"replicate":false,"ttl": ""}, - "*action_triggers":{"remote":false,"replicate":false,"ttl": ""}, - "*shared_groups":{"remote":false,"replicate":false,"ttl": ""}, - "*timings": {"remote":false,"replicate":false,"ttl": ""}, - "*resource_profiles":{"remote":false,"replicate":false,"ttl": ""}, - "*resources":{"remote":false,"replicate":false,"ttl": ""}, - "*statqueue_profiles": {"remote":false,"replicate":false,"ttl": ""}, - "*statqueues": {"remote":false,"replicate":false,"ttl": ""}, - "*threshold_profiles": {"remote":false,"replicate":false,"ttl": ""}, - "*thresholds": {"remote":false,"replicate":false,"ttl": ""}, - "*filters": {"remote":false,"replicate":false,"ttl": ""}, - "*supplier_profiles":{"remote":false,"replicate":false,"ttl": ""}, - "*attribute_profiles":{"remote":false,"replicate":false,"ttl": ""}, - "*charger_profiles": {"remote":false,"replicate":false,"ttl": ""}, - "*dispatcher_profiles":{"remote":false,"replicate":false,"ttl": ""}, - "*dispatcher_hosts":{"remote":false,"replicate":false,"ttl": ""}, - "*filter_indexes" :{"remote":false,"replicate":false,"ttl": ""}, - "*load_ids":{"remote":false,"replicate":false,"ttl": ""}, + "*accounts":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*reverse_destinations": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*destinations": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*rating_plans": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*rating_profiles":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*actions":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*action_plans": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*account_action_plans":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*action_triggers":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*shared_groups":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*timings": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*resource_profiles":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*resources":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*statqueue_profiles": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*statqueues": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*threshold_profiles": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*thresholds": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*filters": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*supplier_profiles":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*attribute_profiles":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*charger_profiles": {"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*dispatcher_profiles":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*dispatcher_hosts":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*filter_indexes" :{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, + "*load_ids":{"remote":false, "replicate":false, "limit": -1, "ttl": "", "static_ttl": false}, }, }, @@ -118,29 +118,29 @@ const CGRATES_CFG_JSON = ` "query_timeout":"10s", "sslmode":"disable", // sslmode in case of *postgres "items":{ - "session_costs": {"ttl": ""}, - "cdrs": {"ttl": ""}, - "tp_timings":{"ttl": ""}, - "tp_destinations": {"ttl": ""}, - "tp_rates": {"ttl": ""}, - "tp_destination_rates": {"ttl": ""}, - "tp_rating_plans":{"ttl": ""}, - "tp_rating_profiles":{"ttl": ""}, - "tp_shared_groups": {"ttl": ""}, - "tp_actions":{"ttl": ""}, - "tp_action_plans":{"ttl": ""}, - "tp_action_triggers":{"ttl": ""}, - "tp_account_actions": {"ttl": ""}, - "tp_resources":{"ttl": ""}, - "tp_stats":{"ttl": ""}, - "tp_thresholds": {"ttl": ""}, - "tp_filters": {"ttl": ""}, - "tp_suppliers": {"ttl": ""}, - "tp_attributes":{"ttl": ""}, - "tp_chargers":{"ttl": ""}, - "versions": {"ttl": ""}, - "tp_dispatcher_profiles":{"ttl": ""}, - "tp_dispatcher_hosts":{"ttl": ""}, + "session_costs": {"limit": -1, "ttl": "", "static_ttl": false}, + "cdrs": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_timings":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_destinations": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_rates": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_destination_rates": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_rating_plans":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_rating_profiles":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_shared_groups": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_actions":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_action_plans":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_action_triggers":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_account_actions": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_resources":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_stats":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_thresholds": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_filters": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_suppliers": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_attributes":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_chargers":{"limit": -1, "ttl": "", "static_ttl": false}, + "versions": {"limit": -1, "ttl": "", "static_ttl": false}, + "tp_dispatcher_profiles":{"limit": -1, "ttl": "", "static_ttl": false}, + "tp_dispatcher_hosts":{"limit": -1, "ttl": "", "static_ttl": false}, }, }, diff --git a/config/config_json_test.go b/config/config_json_test.go index f6bcc9bcb..015a07bfc 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -208,105 +208,155 @@ func TestDfDataDbJsonCfg(t *testing.T) { Remote_conns: &[]string{}, Items: &map[string]*ItemOptJson{ utils.MetaAccounts: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaReverseDestinations: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaDestinations: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaRatingPlans: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaRatingProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaActions: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaActionPlans: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaAccountActionPlans: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaActionTriggers: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaSharedGroups: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaTimings: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaResourceProfile: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaStatQueues: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaResources: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaStatQueueProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaThresholds: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaThresholdProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaFilters: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaSupplierProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaAttributeProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaDispatcherHosts: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaChargerProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaDispatcherProfiles: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaFilterIndexes: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.MetaLoadIDs: &ItemOptJson{ - Replicate: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), - Ttl: utils.StringPointer(utils.EmptyString)}, + Replicate: utils.BoolPointer(false), + Remote: utils.BoolPointer(false), + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, }, } if cfg, err := dfCgrJsonCfg.DbJsonCfg(DATADB_JSN); err != nil { @@ -333,51 +383,97 @@ func TestDfStorDBJsonCfg(t *testing.T) { Sslmode: utils.StringPointer(utils.PostgressSSLModeDisable), Items: &map[string]*ItemOptJson{ utils.TBLTPTimings: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPDestinations: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPRates: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPDestinationRates: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPRatingPlans: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPRateProfiles: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPSharedGroups: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPActions: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPActionTriggers: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPAccountActions: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPResources: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPStats: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPThresholds: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPFilters: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.SessionCostsTBL: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPActionPlans: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPSuppliers: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPAttributes: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPChargers: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPDispatchers: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLTPDispatcherHosts: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.CDRsTBL: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, utils.TBLVersions: &ItemOptJson{ - Ttl: utils.StringPointer(utils.EmptyString)}, + Ttl: utils.StringPointer(utils.EmptyString), + Limit: utils.IntPointer(-1), + Static_ttl: utils.BoolPointer(false)}, }, } if cfg, err := dfCgrJsonCfg.DbJsonCfg(STORDB_JSN); err != nil { diff --git a/config/datadbcfg.go b/config/datadbcfg.go index 9fb61b444..9cfd62655 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -130,7 +130,9 @@ type ItemOpt struct { Remote bool Replicate bool TTL time.Duration - // used for ArgDispatcher in case we send this to a dispatcer engine + Limit int + StaticTTL bool + // used for ArgDispatcher in case we send this to a dispatcher engine RouteID string APIKey string } @@ -150,6 +152,12 @@ func (itm *ItemOpt) loadFromJsonCfg(jsonItm *ItemOptJson) (err error) { return err } } + if jsonItm.Limit != nil { + itm.Limit = *jsonItm.Limit + } + if jsonItm.Static_ttl != nil { + itm.StaticTTL = *jsonItm.Static_ttl + } if jsonItm.Route_id != nil { itm.RouteID = *jsonItm.Route_id } diff --git a/config/libconfig_json.go b/config/libconfig_json.go index 1a0f85aa6..8ec9b293c 100755 --- a/config/libconfig_json.go +++ b/config/libconfig_json.go @@ -98,10 +98,12 @@ type DbJsonCfg struct { } type ItemOptJson struct { - Remote *bool - Replicate *bool - Ttl *string - // used for ArgDispatcher in case we send this to a dispatcer engine + Remote *bool + Replicate *bool + Ttl *string + Limit *int + Static_ttl *bool + // used for ArgDispatcher in case we send this to a dispatcher engine Route_id *string Api_key *string } diff --git a/data/conf/samples/dispatchers/all/cgrates.json b/data/conf/samples/dispatchers/all/cgrates.json index 6abee8058..9169fb61b 100644 --- a/data/conf/samples/dispatchers/all/cgrates.json +++ b/data/conf/samples/dispatchers/all/cgrates.json @@ -60,6 +60,7 @@ "suppliers": { "enabled": true, + "rals_conns": ["*internal"] }, "stats": { diff --git a/data/conf/samples/dispatchers/all_mongo/cgrates.json b/data/conf/samples/dispatchers/all_mongo/cgrates.json index d5a80a8cc..1347eddd2 100644 --- a/data/conf/samples/dispatchers/all_mongo/cgrates.json +++ b/data/conf/samples/dispatchers/all_mongo/cgrates.json @@ -63,6 +63,7 @@ "suppliers": { "enabled": true, + "rals_conns": ["*internal"] }, "stats": { diff --git a/engine/storage_internal_datadb.go b/engine/storage_internal_datadb.go index b5f0b4693..a6a67ccb6 100644 --- a/engine/storage_internal_datadb.go +++ b/engine/storage_internal_datadb.go @@ -35,224 +35,278 @@ func newInternalDBCfg(itemsCacheCfg map[string]*config.ItemOpt, isDataDB bool) m if isDataDB { return map[string]*ltcache.CacheConfig{ utils.CacheDestinations: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheDestinations].TTL, + MaxItems: itemsCacheCfg[utils.CacheDestinations].Limit, + TTL: itemsCacheCfg[utils.CacheDestinations].TTL, + StaticTTL: itemsCacheCfg[utils.CacheDestinations].StaticTTL, }, utils.CacheReverseDestinations: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheReverseDestinations].TTL, + MaxItems: itemsCacheCfg[utils.CacheReverseDestinations].Limit, + TTL: itemsCacheCfg[utils.CacheReverseDestinations].TTL, + StaticTTL: itemsCacheCfg[utils.CacheReverseDestinations].StaticTTL, }, utils.CacheActions: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheActions].TTL, + MaxItems: itemsCacheCfg[utils.CacheActions].Limit, + TTL: itemsCacheCfg[utils.CacheActions].TTL, + StaticTTL: itemsCacheCfg[utils.CacheActions].StaticTTL, }, utils.CacheActionPlans: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheActionPlans].TTL, + MaxItems: itemsCacheCfg[utils.CacheActionPlans].Limit, + TTL: itemsCacheCfg[utils.CacheActionPlans].TTL, + StaticTTL: itemsCacheCfg[utils.CacheActionPlans].StaticTTL, }, utils.CacheAccountActionPlans: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheAccountActionPlans].TTL, + MaxItems: itemsCacheCfg[utils.CacheAccountActionPlans].Limit, + TTL: itemsCacheCfg[utils.CacheAccountActionPlans].TTL, + StaticTTL: itemsCacheCfg[utils.CacheAccountActionPlans].StaticTTL, }, utils.CacheActionTriggers: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheActionTriggers].TTL, + MaxItems: itemsCacheCfg[utils.CacheActionTriggers].Limit, + TTL: itemsCacheCfg[utils.CacheActionTriggers].TTL, + StaticTTL: itemsCacheCfg[utils.CacheActionTriggers].StaticTTL, }, utils.CacheRatingPlans: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheRatingPlans].TTL, + MaxItems: itemsCacheCfg[utils.CacheRatingPlans].Limit, + TTL: itemsCacheCfg[utils.CacheRatingPlans].TTL, + StaticTTL: itemsCacheCfg[utils.CacheRatingPlans].StaticTTL, }, utils.CacheRatingProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheRatingProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheRatingProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheRatingProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheRatingProfiles].StaticTTL, }, utils.CacheAccounts: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheAccounts].TTL, + MaxItems: itemsCacheCfg[utils.CacheAccounts].Limit, + TTL: itemsCacheCfg[utils.CacheAccounts].TTL, + StaticTTL: itemsCacheCfg[utils.CacheAccounts].StaticTTL, }, utils.CacheSharedGroups: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheSharedGroups].TTL, + MaxItems: itemsCacheCfg[utils.CacheSharedGroups].Limit, + TTL: itemsCacheCfg[utils.CacheSharedGroups].TTL, + StaticTTL: itemsCacheCfg[utils.CacheSharedGroups].StaticTTL, }, utils.CacheTimings: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheTimings].TTL, + MaxItems: itemsCacheCfg[utils.CacheTimings].Limit, + TTL: itemsCacheCfg[utils.CacheTimings].TTL, + StaticTTL: itemsCacheCfg[utils.CacheTimings].StaticTTL, }, utils.CacheFilters: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheFilters].TTL, + MaxItems: itemsCacheCfg[utils.CacheFilters].Limit, + TTL: itemsCacheCfg[utils.CacheFilters].TTL, + StaticTTL: itemsCacheCfg[utils.CacheFilters].StaticTTL, }, utils.CacheResourceProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheResourceProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheResourceProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheResourceProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheResourceProfiles].StaticTTL, }, utils.CacheResourceFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheResources: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheResources].TTL, + MaxItems: itemsCacheCfg[utils.CacheResources].Limit, + TTL: itemsCacheCfg[utils.CacheResources].TTL, + StaticTTL: itemsCacheCfg[utils.CacheResources].StaticTTL, }, utils.CacheStatFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheStatQueueProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheStatQueueProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheStatQueueProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheStatQueueProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheStatQueueProfiles].StaticTTL, }, utils.CacheStatQueues: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheStatQueues].TTL, + MaxItems: itemsCacheCfg[utils.CacheStatQueues].Limit, + TTL: itemsCacheCfg[utils.CacheStatQueues].TTL, + StaticTTL: itemsCacheCfg[utils.CacheStatQueues].StaticTTL, }, utils.CacheThresholdFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheThresholdProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheThresholdProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheThresholdProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheThresholdProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheThresholdProfiles].StaticTTL, }, utils.CacheThresholds: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheThresholds].TTL, + MaxItems: itemsCacheCfg[utils.CacheThresholds].Limit, + TTL: itemsCacheCfg[utils.CacheThresholds].TTL, + StaticTTL: itemsCacheCfg[utils.CacheThresholds].StaticTTL, }, utils.CacheSupplierFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheSupplierProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheSupplierProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheSupplierProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheSupplierProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheSupplierProfiles].StaticTTL, }, utils.CacheChargerFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheChargerProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheChargerProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheChargerProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheChargerProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheChargerProfiles].StaticTTL, }, utils.CacheAttributeFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheAttributeProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheAttributeProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheAttributeProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheAttributeProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheAttributeProfiles].StaticTTL, }, utils.CacheDispatcherFilterIndexes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + MaxItems: itemsCacheCfg[utils.MetaFilterIndexes].Limit, + TTL: itemsCacheCfg[utils.MetaFilterIndexes].TTL, + StaticTTL: itemsCacheCfg[utils.MetaFilterIndexes].StaticTTL, }, utils.CacheDispatcherProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheDispatcherProfiles].TTL, + MaxItems: itemsCacheCfg[utils.CacheDispatcherProfiles].Limit, + TTL: itemsCacheCfg[utils.CacheDispatcherProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.CacheDispatcherProfiles].StaticTTL, }, utils.CacheDispatcherHosts: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheDispatcherHosts].TTL, + MaxItems: itemsCacheCfg[utils.CacheDispatcherHosts].Limit, + TTL: itemsCacheCfg[utils.CacheDispatcherHosts].TTL, + StaticTTL: itemsCacheCfg[utils.CacheDispatcherHosts].StaticTTL, }, utils.CacheLoadIDs: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CacheLoadIDs].TTL, + MaxItems: itemsCacheCfg[utils.CacheLoadIDs].Limit, + TTL: itemsCacheCfg[utils.CacheLoadIDs].TTL, + StaticTTL: itemsCacheCfg[utils.CacheLoadIDs].StaticTTL, }, } } else { return map[string]*ltcache.CacheConfig{ utils.TBLVersions: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLVersions].TTL, + MaxItems: itemsCacheCfg[utils.TBLVersions].Limit, + TTL: itemsCacheCfg[utils.TBLVersions].TTL, + StaticTTL: itemsCacheCfg[utils.TBLVersions].StaticTTL, }, utils.TBLTPTimings: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPTimings].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPTimings].Limit, + TTL: itemsCacheCfg[utils.TBLTPTimings].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPTimings].StaticTTL, }, utils.TBLTPDestinations: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPDestinations].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPDestinations].Limit, + TTL: itemsCacheCfg[utils.TBLTPDestinations].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPDestinations].StaticTTL, }, utils.TBLTPRates: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPRates].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPRates].Limit, + TTL: itemsCacheCfg[utils.TBLTPRates].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPRates].StaticTTL, }, utils.TBLTPDestinationRates: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPDestinationRates].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPDestinationRates].Limit, + TTL: itemsCacheCfg[utils.TBLTPDestinationRates].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPDestinationRates].StaticTTL, }, utils.TBLTPRatingPlans: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPRatingPlans].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPRatingPlans].Limit, + TTL: itemsCacheCfg[utils.TBLTPRatingPlans].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPRatingPlans].StaticTTL, }, utils.TBLTPRateProfiles: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPRateProfiles].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPRateProfiles].Limit, + TTL: itemsCacheCfg[utils.TBLTPRateProfiles].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPRateProfiles].StaticTTL, }, utils.TBLTPSharedGroups: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPSharedGroups].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPSharedGroups].Limit, + TTL: itemsCacheCfg[utils.TBLTPSharedGroups].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPSharedGroups].StaticTTL, }, utils.TBLTPActions: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPActions].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPActions].Limit, + TTL: itemsCacheCfg[utils.TBLTPActions].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPActions].StaticTTL, }, utils.TBLTPActionTriggers: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPActionTriggers].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPActionTriggers].Limit, + TTL: itemsCacheCfg[utils.TBLTPActionTriggers].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPActionTriggers].StaticTTL, }, utils.TBLTPAccountActions: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPAccountActions].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPAccountActions].Limit, + TTL: itemsCacheCfg[utils.TBLTPAccountActions].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPAccountActions].StaticTTL, }, utils.TBLTPResources: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPResources].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPResources].Limit, + TTL: itemsCacheCfg[utils.TBLTPResources].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPResources].StaticTTL, }, utils.TBLTPStats: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPStats].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPStats].Limit, + TTL: itemsCacheCfg[utils.TBLTPStats].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPStats].StaticTTL, }, utils.TBLTPThresholds: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPThresholds].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPThresholds].Limit, + TTL: itemsCacheCfg[utils.TBLTPThresholds].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPThresholds].StaticTTL, }, utils.TBLTPFilters: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPFilters].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPFilters].Limit, + TTL: itemsCacheCfg[utils.TBLTPFilters].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPFilters].StaticTTL, }, utils.SessionCostsTBL: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.SessionCostsTBL].TTL, + MaxItems: itemsCacheCfg[utils.SessionCostsTBL].Limit, + TTL: itemsCacheCfg[utils.SessionCostsTBL].TTL, + StaticTTL: itemsCacheCfg[utils.SessionCostsTBL].StaticTTL, }, utils.TBLTPActionPlans: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPActionPlans].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPActionPlans].Limit, + TTL: itemsCacheCfg[utils.TBLTPActionPlans].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPActionPlans].StaticTTL, }, utils.TBLTPSuppliers: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPSuppliers].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPSuppliers].Limit, + TTL: itemsCacheCfg[utils.TBLTPSuppliers].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPSuppliers].StaticTTL, }, utils.TBLTPAttributes: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPAttributes].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPAttributes].Limit, + TTL: itemsCacheCfg[utils.TBLTPAttributes].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPAttributes].StaticTTL, }, utils.TBLTPChargers: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPChargers].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPChargers].Limit, + TTL: itemsCacheCfg[utils.TBLTPChargers].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPChargers].StaticTTL, }, utils.TBLTPDispatchers: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPDispatchers].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPDispatchers].Limit, + TTL: itemsCacheCfg[utils.TBLTPDispatchers].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPDispatchers].StaticTTL, }, utils.TBLTPDispatcherHosts: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.TBLTPDispatcherHosts].TTL, + MaxItems: itemsCacheCfg[utils.TBLTPDispatcherHosts].Limit, + TTL: itemsCacheCfg[utils.TBLTPDispatcherHosts].TTL, + StaticTTL: itemsCacheCfg[utils.TBLTPDispatcherHosts].StaticTTL, }, utils.CDRsTBL: <cache.CacheConfig{ - MaxItems: -1, - TTL: itemsCacheCfg[utils.CDRsTBL].TTL, + MaxItems: itemsCacheCfg[utils.CDRsTBL].Limit, + TTL: itemsCacheCfg[utils.CDRsTBL].TTL, + StaticTTL: itemsCacheCfg[utils.CDRsTBL].StaticTTL, }, } }