diff --git a/scripts/normalize.php b/scripts/normalize.php index 5fbae4b..912def4 100755 --- a/scripts/normalize.php +++ b/scripts/normalize.php @@ -1,108 +1,127 @@ #!/usr/bin/env php $v) { if (strlen($v["normalizedField"] and !$v["skipNormalize"])) { $b = time(); $class_name = $v["class"]; unset($CDRS); $CDRS = new $class_name($k); if (is_array($CDRS->db_class)) { $db_class = $CDRS->db_class[0]; } else { $db_class = $CDRS->db_class; } if ($table) $CDRS->table = $table; $log = sprintf("Normalize datasource %s, database %s, table %s\n", $k, $db_class, $CDRS->table); loggerAndPrint($log); $CDRS->NormalizeCDRS(); $e = time(); $d = $e - $b; if ($CDRS->status['cdr_to_normalize']) { $speed = 0; if ($d) $speed = number_format($CDRS->status['cdr_to_normalize']/$d, 0, "", ""); $log = sprintf( " CDR normalize: %6d new, %6d done, %6d minutes, %6.1f price, %d seconds, %s cps\n", $CDRS->status['cdr_to_normalize'], $CDRS->status['normalized'], $CDRS->status['duration']/60, $CDRS->status['price'], $d, $speed ); loggerAndPrint($log); } if (!$table && preg_match("/^(\w+)\d{6}$/", $CDRS->table, $m)) { $lastMonthTable=$m[1].date('Ym', mktime(0, 0, 0, date("m")-1, "01", date("Y"))); $log = sprintf("Normalize datasource %s, database %s, table %s\n", $k, $db_class, $lastMonthTable); loggerAndPrint($log); $b = time(); $CDRS->table = $lastMonthTable; $CDRS->NormalizeCDRS(); if ($CDRS->status['cdr_to_normalize']) { $e = time(); $d = $e - $b; $speed = 0; if ($d) $speed = number_format($CDRS->status['cdr_to_normalize']/$d, 0, "", ""); $log = sprintf( " %d CDRs, %d normalized in %s s @ %s cps\n", $CDRS->status['cdr_to_normalize'], $CDRS->status['normalized'], $d, $speed ); loggerAndPrint($log); } } } } keepAliveRatingEngine();