Added new ADMIN keepalive options for setting the delay on the auto-dial and auto-dialFIll processes.
Notes added on agent-only server optimizations in clusters git-svn-id: svn://192.168.202.10@1915 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
# - Runs trigger processes at defined times
|
# - Runs trigger processes at defined times
|
||||||
# - Auto reset lists at defined times
|
# - Auto reset lists at defined times
|
||||||
#
|
#
|
||||||
# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||||
#
|
#
|
||||||
# CHANGES
|
# CHANGES
|
||||||
# 61011-1348 - First build
|
# 61011-1348 - First build
|
||||||
@@ -77,6 +77,7 @@
|
|||||||
# 121019-1021 - Added voicemail greeting option
|
# 121019-1021 - Added voicemail greeting option
|
||||||
# 121124-1440 - Added holiday expiration function
|
# 121124-1440 - Added holiday expiration function
|
||||||
# 121215-2036 - Added email inbound script keepalive, option E
|
# 121215-2036 - Added email inbound script keepalive, option E
|
||||||
|
# 130103-0808 - Added CLI options for delay to be used with auto-dial and FILL processes
|
||||||
#
|
#
|
||||||
|
|
||||||
$DB=0; # Debug flag
|
$DB=0; # Debug flag
|
||||||
@@ -96,6 +97,8 @@ if ($sec < 10) {$sec = "0$sec";}
|
|||||||
$now_date = "$year-$mon-$mday $hour:$min:$sec";
|
$now_date = "$year-$mon-$mday $hour:$min:$sec";
|
||||||
$reset_test = "$hour$min";
|
$reset_test = "$hour$min";
|
||||||
$cu3way_delay='';
|
$cu3way_delay='';
|
||||||
|
$autodial_delay='';
|
||||||
|
$adfill_delay='';
|
||||||
|
|
||||||
### begin parsing run-time options ###
|
### begin parsing run-time options ###
|
||||||
if (length($ARGV[0])>1)
|
if (length($ARGV[0])>1)
|
||||||
@@ -110,7 +113,9 @@ if (length($ARGV[0])>1)
|
|||||||
if ($args =~ /--help/i)
|
if ($args =~ /--help/i)
|
||||||
{
|
{
|
||||||
print "allowed run time options:\n";
|
print "allowed run time options:\n";
|
||||||
print " [-t] = test\n";
|
print " [-test] = test\n";
|
||||||
|
print " [-autodial-delay=X] = setting delay milliseconds on local auto-dial process\n";
|
||||||
|
print " [-adfill-delay=X] = setting delay milliseconds on auto-dial FILL process\n";
|
||||||
print " [-cu3way] = keepalive for the optional 3way conference checker\n";
|
print " [-cu3way] = keepalive for the optional 3way conference checker\n";
|
||||||
print " [-cu3way-delay=X] = setting delay seconds on 3way conference checker\n";
|
print " [-cu3way-delay=X] = setting delay seconds on 3way conference checker\n";
|
||||||
print " [-debug] = verbose debug messages\n";
|
print " [-debug] = verbose debug messages\n";
|
||||||
@@ -135,6 +140,36 @@ if (length($ARGV[0])>1)
|
|||||||
$DBXXX=1;
|
$DBXXX=1;
|
||||||
print "\n----- TRIPLE DEBUGGING -----\n\n";
|
print "\n----- TRIPLE DEBUGGING -----\n\n";
|
||||||
}
|
}
|
||||||
|
if ($args =~ /-autodial-delay=/i) # CLI defined delay
|
||||||
|
{
|
||||||
|
@CLIvarADARY = split(/-autodial-delay=/,$args);
|
||||||
|
@CLIvarADARX = split(/ /,$CLIvarADARY[1]);
|
||||||
|
if (length($CLIvarADARX[0])>0)
|
||||||
|
{
|
||||||
|
$CLIautodialdelay = $CLIvarADARX[0];
|
||||||
|
$CLIautodialdelay =~ s/\/$| |\r|\n|\t//gi;
|
||||||
|
$CLIautodialdelay =~ s/\D//gi;
|
||||||
|
if ( ($CLIautodialdelay > 0) && (length($CLIautodialdelay)> 0) )
|
||||||
|
{$autodial_delay = "--delay=$CLIautodialdelay";}
|
||||||
|
if ($DB > 0) {print "AD Delay set to $CLIautodialdelay $autodial_delay\n";}
|
||||||
|
}
|
||||||
|
@CLIvarADARY=@MT; @CLIvarADARY=@MT;
|
||||||
|
}
|
||||||
|
if ($args =~ /-adfill-delay=/i) # CLI defined delay
|
||||||
|
{
|
||||||
|
@CLIvarADFARY = split(/-autodial-delay=/,$args);
|
||||||
|
@CLIvarADFARX = split(/ /,$CLIvarADFARY[1]);
|
||||||
|
if (length($CLIvarADFARX[0])>0)
|
||||||
|
{
|
||||||
|
$CLIadfilldelay = $CLIvarADFARX[0];
|
||||||
|
$CLIadfilldelay =~ s/\/$| |\r|\n|\t//gi;
|
||||||
|
$CLIadfilldelay =~ s/\D//gi;
|
||||||
|
if ( ($CLIadfilldelay > 0) && (length($CLIadfilldelay)> 0) )
|
||||||
|
{$adfill_delay = "--delay=$CLIadfilldelay";}
|
||||||
|
if ($DB > 0) {print "ADFILL Delay set to $CLIadfilldelay $adfill_delay\n";}
|
||||||
|
}
|
||||||
|
@CLIvarADFARY=@MT; @CLIvarADFARY=@MT;
|
||||||
|
}
|
||||||
if ($args =~ /-cu3way/i)
|
if ($args =~ /-cu3way/i)
|
||||||
{
|
{
|
||||||
$cu3way=1;
|
$cu3way=1;
|
||||||
@@ -151,11 +186,11 @@ if (length($ARGV[0])>1)
|
|||||||
$CLIdelay =~ s/\D//gi;
|
$CLIdelay =~ s/\D//gi;
|
||||||
if ( ($CLIdelay > 0) && (length($CLIdelay)> 0) )
|
if ( ($CLIdelay > 0) && (length($CLIdelay)> 0) )
|
||||||
{$cu3way_delay = "--delay=$CLIdelay";}
|
{$cu3way_delay = "--delay=$CLIdelay";}
|
||||||
if ($DB > 0) {print "Delay set to $CLIdelay $cu3way_delay\n";}
|
if ($DB > 0) {print "CU3 Delay set to $CLIdelay $cu3way_delay\n";}
|
||||||
}
|
}
|
||||||
@CLIvarARY=@MT; @CLIvarARY=@MT;
|
@CLIvarARY=@MT; @CLIvarARY=@MT;
|
||||||
}
|
}
|
||||||
if ($args =~ /-t/i)
|
if ($args =~ /-test/i)
|
||||||
{
|
{
|
||||||
$TEST=1;
|
$TEST=1;
|
||||||
$T=1;
|
$T=1;
|
||||||
@@ -544,7 +579,7 @@ if (
|
|||||||
{
|
{
|
||||||
if ($DB) {print "starting AST_VDauto_dial...\n";}
|
if ($DB) {print "starting AST_VDauto_dial...\n";}
|
||||||
# add a '-L' to the command below to activate logging
|
# add a '-L' to the command below to activate logging
|
||||||
`/usr/bin/screen -d -m -S ASTVDauto $PATHhome/AST_VDauto_dial.pl`;
|
`/usr/bin/screen -d -m -S ASTVDauto $PATHhome/AST_VDauto_dial.pl $autodial_delay`;
|
||||||
}
|
}
|
||||||
if ( ($AST_VDremote_agents > 0) && ($runningAST_VDremote_agents < 1) )
|
if ( ($AST_VDremote_agents > 0) && ($runningAST_VDremote_agents < 1) )
|
||||||
{
|
{
|
||||||
@@ -568,7 +603,7 @@ if (
|
|||||||
{
|
{
|
||||||
if ($DB) {print "starting AST_VDauto_dial_FILL...\n";}
|
if ($DB) {print "starting AST_VDauto_dial_FILL...\n";}
|
||||||
# add a '-L' to the command below to activate logging
|
# add a '-L' to the command below to activate logging
|
||||||
`/usr/bin/screen -d -m -S ASTVDautoFILL $PATHhome/AST_VDauto_dial_FILL.pl`;
|
`/usr/bin/screen -d -m -S ASTVDautoFILL $PATHhome/AST_VDauto_dial_FILL.pl $adfill_delay`;
|
||||||
}
|
}
|
||||||
if ( ($email_inbound > 0) && ($runningemail_inbound < 1) )
|
if ( ($email_inbound > 0) && ($runningemail_inbound < 1) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,6 +36,12 @@ NOTE: if you have a dedicated MySQL database server with a lot of RAM(8GB or gre
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
USE OF AGENT-ONLY AND DIAL-ONLY SERVERS ON YOUR CLUSTER:
|
||||||
|
|
||||||
|
If you are using servers where agents only log in and handle calls, but no calls are placed out from it, then you can use the new delay options on those servers to enhance efficient operations. The --autodial-delay=X option in the ADMIN_keepalive_ALL.pl script will allow you to set the delay to 100 milliseconds for these agent-only servers(the default is 2500ms). Lowering the delay for agent-only servers makes the auto-dial FILL process more responsive to the changes in the agent state on the agent-only servers which will enhance how your cluster operates. You can also use the --adfill-delay=X CLI option for the ADMIN_keepalive_ALL.pl script on the server that is running the FILL process and lower it as well if you have a larger cluster. The default of that process is also 2500ms, but you can lower it down to 500ms if needed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
AS OF RELEASE 2.2.0 YOU SHOULD NOT HAVE TO TAKE ANY STEPS BEYOND STEP 2 IN THIS DOCUMENT TO GET MULTI-SERVER VICIDIAL TO WORK IF YOU ARE USING THE DEFAULT VICIDIAL CONF FILES.
|
AS OF RELEASE 2.2.0 YOU SHOULD NOT HAVE TO TAKE ANY STEPS BEYOND STEP 2 IN THIS DOCUMENT TO GET MULTI-SERVER VICIDIAL TO WORK IF YOU ARE USING THE DEFAULT VICIDIAL CONF FILES.
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|||||||
Reference in New Issue
Block a user