[asterisk-bugs] [Asterisk 0015113]: autofill problem when coming back from paused on realtime
Asterisk Bug Tracker
noreply at bugs.digium.com
Sat May 16 10:12:45 CDT 2009
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=15113
======================================================================
Reported By: elbriga
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 15113
Category: Applications/app_queue
Reproducibility: always
Severity: major
Priority: normal
Status: new
Asterisk Version: 1.4.19
Regression: No
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2009-05-14 13:29 CDT
Last Modified: 2009-05-16 10:12 CDT
======================================================================
Summary: autofill problem when coming back from paused on
realtime
Description:
I'm testing this on 1.4.19, but I dont see anything related on the latest
changelog (maybe something on 1.4.25-rc1, but right now I dont have SVN
access to get it).
I have my queues setup on realtime and i directly access the 'paused'
column on the queue members table to change their status. When I enable
'autofill' (directly on the table, not in the conf file) it will do the
autofill behavior OK, until this scenario...
- A queue member is paused
- A call enters the queue, and here it will be looping in the
"wait_out_turn" function, that calls "is_our_turn"
- The queue member gets unpaused (directly via SQL on the respective
paused column)
- The call is still on the "wait_out_turn" loop, and inside it there are
no direct call to refresh the realtime data, so it will "never" know that
the member get unpaused (but if I, for eg, do a "queue show" CLI command it
will ring that agent right away, because the queue struct got refreshed)
I was thinking about doing a "update_realtime_members" at some frequency
inside the "wait_out_turn" loop, but then it would get executes for every
call on the queue, so I think the best way flag the need of a refresh
inside the "wait_out_turn" loop and actually refresh some place else
(where?)
======================================================================
----------------------------------------------------------------------
(0104883) elbriga (reporter) - 2009-05-16 10:12
https://issues.asterisk.org/view.php?id=15113#c104883
----------------------------------------------------------------------
mmichelson,
I had my problem solved by deciding to use only dynamic members with
persistentmember=yes, and doing manager commands to Add/Remove/Pause
members instead of changing teh DB directly.
But along the way I had the same toughts as you on the need of a periodic
refreshing system. Regarding this I came up with this idea:
The various parts of the queue system would flag (in the queue struct) the
need of a refresh, doing so the refresh thread could be as quick as a 5
seconds delay, but it would only actually performing it if the flag tell it
to.
What do you think?
Issue History
Date Modified Username Field Change
======================================================================
2009-05-16 10:12 elbriga Note Added: 0104883
======================================================================
More information about the asterisk-bugs
mailing list