[freeside-commits] branch master updated. bdc278d2271d688195fe2fa4621c3d65b72c0639

Jeremy Davis jeremyd at 420.am
Mon Nov 2 10:04:25 PST 2015


The branch, master has been updated
       via  bdc278d2271d688195fe2fa4621c3d65b72c0639 (commit)
      from  e0aacf68c8c7bbd4d3609731d6a1a2fe7d7e3d1d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit bdc278d2271d688195fe2fa4621c3d65b72c0639
Author: Jeremy Davis <jeremyd at freeside.biz>
Date:   Sat Oct 31 04:05:56 2015 -0400

    36503 Scalability issues with amcom CDRs

diff --git a/FS/FS/cdr/amcom.pm b/FS/FS/cdr/amcom.pm
index fee81f7..697a682 100644
--- a/FS/FS/cdr/amcom.pm
+++ b/FS/FS/cdr/amcom.pm
@@ -2,9 +2,9 @@ package FS::cdr::amcom;
 
 use strict;
 use base qw( FS::cdr );
-use vars qw( %info );
+use vars qw( %info %cdrtypes);
 use DateTime;
-use FS::Record qw( qsearchs );
+use FS::Record qw( qsearch );
 use FS::cdr_type;
 
 my ($tmp_mday, $tmp_mon, $tmp_year);
@@ -16,6 +16,12 @@ my ($tmp_mday, $tmp_mon, $tmp_year);
   'type'          => 'csv',
   'sep_char'      => ',',
   'disabled'      => 0,
+  'header_buffer' => sub {
+
+	%cdrtypes = ( map { $_->cdrtypename => $_->cdrtypenum }
+                             qsearch('cdr_type', {})
+            );
+    },
 
   #listref of what to do with each field from the CDR, in order
   'import_fields' => [
@@ -37,9 +43,7 @@ my ($tmp_mday, $tmp_mon, $tmp_year);
     sub {	   # 5. Call Category (LOCAL, NATIONAL, FREECALL, MOBILE)
       my ($cdr, $data) = @_;
       $data ||= 'none';
-
-      my $cdr_type = qsearchs('cdr_type', { 'cdrtypename' => $data } );
-      $cdr->set('cdrtypenum', $cdr_type->cdrtypenum) if $cdr_type;
+      $cdr->cdrtypenum($cdrtypes{$data} || '');
       $cdr->set('dcontext', $data);  
     },
     sub {         # 6. Start Date (DDMMYYYY

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cdr/amcom.pm |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)




More information about the freeside-commits mailing list