> We have realtime queue architecture on asterisk 1.8.7.0
> I noticed that when we change strategy from any other to 'linear' it
> requires Asterisk restart take the change in effect.
> I have one realtime queue '1' with strategy set to 'ringall' and I
> change its strategy to 'linear'. Now when check on Asterisk CLI it
> shows me warning given below.
> 
> demo*CLI> queue show 1
> 1 has 0 calls (max 500) in 'ringall' strategy (0s holdtime, 0s
> talktime), W:1, C:0, A:0, SL:0.0% within 100s
> No Members
> No Callers
> 
> [Nov 8 12:10:18] WARNING[4887]: app_queue.c:2034 queue_set_param:
> Changing to the linear strategy currently requires asterisk to be
> restarted.
> [Nov 8 12:10:18] WARNING[4887]: app_queue.c:2034 queue_set_param:
> Changing to the linear strategy currently requires asterisk to be
> restarted.
> 
> 
> This behaviour doesn't happen when strategy changed to other than
> 'linear'.
> So why is Asterisk restart needed for this change?
> 
Because the creation of the queue members container requires different
properties for linear support.

        if (q->strategy == QUEUE_STRATEGY_LINEAR || q->strategy == 
QUEUE_STRATEGY_RRORDERED)
                /* linear strategy depends on order, so we have to place all 
members in a single bucket */
                q->members = ao2_container_alloc(1, member_hash_fn, 
member_cmp_fn);
        else
                q->members = ao2_container_alloc(37, member_hash_fn, 
member_cmp_fn);

The other strategies will work with the linear version of the container
but are just not as efficient.

Richard

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

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

Reply via email to