optimized all AST_CRON_audio handling scripts to be more efficient

added new minicsv file format for CLI lead loader script
in trunk, added new non-agent API script(add a new lead)

git-svn-id: svn://192.168.202.10@930 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2008-08-01 04:52:26 +00:00
parent d61908ad1a
commit 60abdae402
15 changed files with 2573 additions and 765 deletions
+30 -11
View File
@@ -29,6 +29,7 @@
#
#
# 80302-1958 - First Build
# 80731-2253 - Changed size comparisons for more efficiency
#
$GSM=0; $MP3=0; $OGG=0;
@@ -151,7 +152,8 @@ foreach(@conf)
$server_ip = $VARserver_ip; # Asterisk server IP
if (!$VARDB_port) {$VARDB_port='3306';}
use DBI;
use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second
use DBI;
$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass")
or die "Couldn't connect to database: " . DBI->errstr;
@@ -194,25 +196,39 @@ if ($MP3 > 0)
### directory where -all recordings are
$dir2 = "$PATHDONEmonitor";
opendir(FILE, "$dir2/");
@FILES = readdir(FILE);
opendir(FILE, "$dir2/");
@FILES = readdir(FILE);
### Loop through files first to gather filesizes
$i=0;
foreach(@FILES)
{
$size1 = 0;
$size2 = 0;
$FILEsize1[$i] = 0;
if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) )
{
$FILEsize1[$i] = (-s "$dir1/$FILES[$i]");
if ($DBX) {print "$FILES[$i] $FILEsize1[$i]\n";}
}
$i++;
}
sleep(5);
### Loop through files a second time to gather filesizes again 5 seconds later
$i=0;
foreach(@FILES)
{
$FILEsize2[$i] = 0;
if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) )
{
$size1 = (-s "$dir2/$FILES[$i]");
if ($DBX) {print "$FILES[$i] $size1\n";}
sleep(1);
$size2 = (-s "$dir2/$FILES[$i]");
if ($DBX) {print "$FILES[$i] $size2\n\n";}
$FILEsize2[$i] = (-s "$dir1/$FILES[$i]");
if ($DBX) {print "$FILES[$i] $FILEsize2[$i]\n\n";}
if ( ($FILES[$i] !~ /out\.|in\.|lost\+found/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4))
if ( ($FILES[$i] !~ /out\.|in\.|lost\+found/i) && ($FILEsize1[$i] eq $FILEsize2[$i]) && (length($FILES[$i]) > 4))
{
$recording_id='';
$ALLfile = $FILES[$i];
@@ -279,6 +295,9 @@ foreach(@FILES)
{
`mv -f "$dir2/$ALLfile" "$dir2/ORIG/$ALLfile"`;
}
### sleep for twenty hundredths of a second to not flood the server with disk activity
usleep(1*200*1000);
}
}
$i++;