-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3607/#review12903
-----------------------------------------------------------


Regarding the actual diff, most findings I have on this are small at this 
point, so yay!

On the other hand, from a higher-level perspective, I have to wonder about how 
well this would be accepted, as-is. The big problem is that realtime queue 
rules are only loaded when app_queue is loaded/reloaded. Most other realtime 
queue objects (queues, members) are loaded when a new call arrives in the 
queue, or when an AMI event is used to list properties of objects.

As long as it ends up being documented that realtime queue rules exist only so 
that the configuration can be read at load time from an alternate medium, I 
won't fuss about it. Someone could take it upon themselves to make the realtime 
queue rule support more "realtime" later.


trunk/apps/app_queue.c
<https://reviewboard.asterisk.org/r/3607/#comment23276>

    The file is extconfig.conf, not extconfigs.conf



trunk/apps/app_queue.c
<https://reviewboard.asterisk.org/r/3607/#comment23279>

    Remove the commented-out portion.



trunk/apps/app_queue.c
<https://reviewboard.asterisk.org/r/3607/#comment23281>

    "} else {"
    
    instead of
    
    "}else{"



trunk/apps/app_queue.c
<https://reviewboard.asterisk.org/r/3607/#comment23280>

    "} else {"
    
    instead of 
    
    "}else{"



trunk/apps/app_queue.c
<https://reviewboard.asterisk.org/r/3607/#comment23282>

    return AST_MODULE_LOAD_DECLINE here instead of AST_MODULE_LOAD_FAILURE.
    
    The difference between the two is that DECLINE makes app_queue fail to 
load, but FAILURE makes Asterisk shutdown. Failure to load queue penalty rules 
is not severe enough to warrant a shutdown of Asterisk.


- Mark Michelson


On June 30, 2014, 1:26 p.m., Michael K. wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3607/
> -----------------------------------------------------------
> 
> (Updated June 30, 2014, 1:26 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-23823
>     https://issues.asterisk.org/jira/browse/ASTERISK-23823
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This patch gives the ability (optional) to keep queuerules in realtime 
> (important to notice that rules would be loaded from both realtime and file 
> too)
> To use add to queuerules.conf general section with option to turn the 
> relatime on (note that after patch there is no option to call rule "general" 
> as it is reserved for queuerules settings):
> 
> [general]
> realtime_rules = yes
> 
> and add the realtime setting to extconfig.conf, for example in my case it's 
> mysql and it looks like(will attach the .sql with create for table):
> 
> queue_rules => mysql,asterisk,queue_rules
> 
> in table as you can see you need to specify rule name and as in regular rules 
> you can use relative setings for min and max (with "-" and "+", e.g. "+100")
> if one of the rule parameters is wrong it would be ignored, basically 
> validation is like from file.
> here is the the example of table context as an example:
> 
> rule_name, time, min_penalty, max_penalty
> 'default', '10', '20', '30'
> 'test2', '20', '30', '55'
> 'test2', '25', '-11', '+1111'
> 'test2', '400', '112', '333'
> 'test3', '0', '4564', '46546'
> 'test_rule', '40', '15', '50'
> 
> which would result in :
> 
> Rule: default
>       After 10 seconds, adjust QUEUE_MAX_PENALTY to 30 and adjust 
> QUEUE_MIN_PENALTY to 20
> Rule: test2
>       After 20 seconds, adjust QUEUE_MAX_PENALTY to 55 and adjust 
> QUEUE_MIN_PENALTY to 30
>       After 25 seconds, adjust QUEUE_MAX_PENALTY by 1111 and adjust 
> QUEUE_MIN_PENALTY by -11
>       After 400 seconds, adjust QUEUE_MAX_PENALTY to 333 and adjust 
> QUEUE_MIN_PENALTY to 112
> Rule: test3
>       After 0 seconds, adjust QUEUE_MAX_PENALTY to 46546 and adjust 
> QUEUE_MIN_PENALTY to 4564
> Rule: test_rule
>       After 40 seconds, adjust QUEUE_MAX_PENALTY to 50 and adjust 
> QUEUE_MIN_PENALTY to 15
> 
> 
> If you use realtime, the rules will be always reloaded (no cache option 
> here), in other words it would delete all rules and re-add them from realtime 
> and file. It's important to understand that with realtime on it would reload 
> rules from file doesn't matter if file was or was not change.
> While with the option off it would act exactly like it was before patch (file 
> would not be reloaded if it was not changed)
> 
> 
> Diffs
> -----
> 
>   trunk/apps/app_queue.c 415442 
> 
> Diff: https://reviewboard.asterisk.org/r/3607/diff/
> 
> 
> Testing
> -------
> 
> Currently the tests were made on development machine.
> 
> 
> Thanks,
> 
> Michael K.
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to