From 8d7b5818f25528fe66dc0a037d79d54ee598efc8 Mon Sep 17 00:00:00 2001 From: DanB Date: Mon, 13 Jul 2015 16:35:47 +0200 Subject: [PATCH] Init the partialRecords in cdrc --- cdrc/cdrc.go | 3 +-- data/conf/samples/cdrcflatstore/cgrates.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/cdrc/cdrc.go b/cdrc/cdrc.go index b165db027..7eec7f8f6 100644 --- a/cdrc/cdrc.go +++ b/cdrc/cdrc.go @@ -165,7 +165,7 @@ func NewCdrc(cdrcCfgs map[string]*config.CdrcConfig, httpSkipTlsCheck bool, cdrS cdrc := &Cdrc{cdrsAddress: cdrcCfg.Cdrs, CdrFormat: cdrcCfg.CdrFormat, cdrInDir: cdrcCfg.CdrInDir, cdrOutDir: cdrcCfg.CdrOutDir, runDelay: cdrcCfg.RunDelay, csvSep: cdrcCfg.FieldSeparator, httpSkipTlsCheck: httpSkipTlsCheck, cdrServer: cdrServer, exitChan: exitChan, maxOpenFiles: make(chan struct{}, cdrcCfg.MaxOpenFiles), - guard: engine.NewGuardianLock()} + partialRecords: make(map[string]map[string]*PartialFlatstoreRecord), guard: engine.NewGuardianLock()} var processCsvFile struct{} for i := 0; i < cdrcCfg.MaxOpenFiles; i++ { cdrc.maxOpenFiles <- processCsvFile // Empty initiate so we do not need to wait later when we pop @@ -349,7 +349,6 @@ func (self *Cdrc) processPartialRecord(record []string, fileName string) ([]stri return nil, err } doneCaching, _ := self.guard.Guard(func() (interface{}, error) { // Lock caching on fileName - // ToDo: schedule dumping of the .unpaired files if fileMp, hasFile := self.partialRecords[fileName]; !hasFile { self.partialRecords[fileName] = map[string]*PartialFlatstoreRecord{pr.AccId: pr} if self.partialRecordCache != 0 { // Schedule expiry/dump of the just created entry in cache diff --git a/data/conf/samples/cdrcflatstore/cgrates.json b/data/conf/samples/cdrcflatstore/cgrates.json index d9b6754a3..6c8b77a78 100644 --- a/data/conf/samples/cdrcflatstore/cgrates.json +++ b/data/conf/samples/cdrcflatstore/cgrates.json @@ -26,7 +26,7 @@ "FLATSTORE": { "enabled": true, // enable CDR client functionality "cdrs": "internal", // address where to reach CDR server. - "cdr_format": "csv", // CDR file format + "cdr_format": "opensips_flatstore", // CDR file format "field_separator": "|", // separator used in case of csv files "run_delay": 0, // sleep interval in seconds between consecutive runs, 0 to use automation via inotify "max_open_files": 1024, // maximum simultaneous files to process