[SR-Users] rtimer question

Alex Balashov abalashov at evaristesys.com
Tue Jun 19 20:50:09 CEST 2012


Hi,

I use 'rtimer' and 'mqueue' to asynchronously defer certain heavy DB 
tasks on which call processing does not depend.

I was hoping to get a clarification on the exact behaviour of 'rtimer' 
when tasks don't complete as fast as they should.

Let's say that I set the rtimer route interval to half a second (500 
ms), as afforded by new Kamailio 3.3.0 capabilities.  What happens if 
the tasks I am running inside the rtimer route don't complete in that 
interval?  Is that rtimer thread forceably terminated, or is it allowed 
to run as long as necessary to complete the task?  Is there an absolute 
timeout?  If the latter, I assume that another, parallel rtimer route 
will be started in the background after 500 ms.  I am given to 
understand that there is a thread pool.  How big is it?  Can I configure 
its size anywhere?  Is there a practical limit?

Finally, is there 100% assurance that 'mqueue' is safe to consume for 
multiple rtimer processes, possibly ones tripping over each other due to 
unpredictable delays?  Or is it designed only to provide blocking mutex 
for data passed from a SIP worker thread to a different kind of thread?

Thanks!

-- Alex

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/



More information about the sr-users mailing list