Add Limit and staticTTL option to Items from Data/StorDB

This commit is contained in:
TeoV
2020-02-24 17:30:02 +02:00
committed by Dan Christian Bogos
parent c88c687605
commit dfb024360d
7 changed files with 421 additions and 259 deletions

View File

@@ -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},
},
},

View File

@@ -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 {

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -60,6 +60,7 @@
"suppliers": {
"enabled": true,
"rals_conns": ["*internal"]
},
"stats": {

View File

@@ -63,6 +63,7 @@
"suppliers": {
"enabled": true,
"rals_conns": ["*internal"]
},
"stats": {

View File

@@ -35,224 +35,278 @@ func newInternalDBCfg(itemsCacheCfg map[string]*config.ItemOpt, isDataDB bool) m
if isDataDB {
return map[string]*ltcache.CacheConfig{
utils.CacheDestinations: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.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: &ltcache.CacheConfig{
MaxItems: -1,
TTL: itemsCacheCfg[utils.CDRsTBL].TTL,
MaxItems: itemsCacheCfg[utils.CDRsTBL].Limit,
TTL: itemsCacheCfg[utils.CDRsTBL].TTL,
StaticTTL: itemsCacheCfg[utils.CDRsTBL].StaticTTL,
},
}
}