[SR-Users] rtimer execution period - round two

Alex Balashov abalashov at evaristesys.com
Tue Jul 24 04:46:43 CEST 2012


On 07/23/2012 08:38 PM, Alex Balashov wrote:

>      route[ACCT_WRITER] {
>         while(mq_fetch("acct_write")) {
>            # Some stuff to write $mqv(...) values to PostgreSQL.
>
>            ...
>
>            sql_query("ca", "SELECT * FROM acct_event_proc(...)");
>            ...
>
>            mq_pv_free("acct_write");
>         }
>      }

I added the mq_size() function in script:

http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=commit;h=f492b41bd12904e3132260562073e79d76a003a5

Then, added this to the bottom of this route:

         $var(sz) = mq_size("acct_write");

         if($var(sz) > 0)
                 xlog("L_INFO", "Exiting request route with mq size: 
$var(sz)\n");

And, I'm seeing this in the log, running at a 1-second interval:

Jul 24 22:41:59 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 229
Jul 24 22:42:00 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 82
Jul 24 22:42:05 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 328
Jul 24 22:42:11 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 689
Jul 24 22:42:15 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 946
Jul 24 22:42:22 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1586
Jul 24 22:42:27 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1783
Jul 24 22:42:32 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1964
Jul 24 22:42:37 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2346
Jul 24 22:42:39 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2323
Jul 24 22:42:41 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2210
Jul 24 22:42:45 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2224
Jul 24 22:42:46 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2056
Jul 24 22:42:47 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1904
Jul 24 22:42:48 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1798
Jul 24 22:42:49 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1619
Jul 24 22:42:53 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1651
Jul 24 22:42:54 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1467
Jul 24 22:42:55 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1378
Jul 24 22:42:56 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1206
Jul 24 22:42:59 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1220
Jul 24 22:43:04 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1542
Jul 24 22:43:08 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1733
Jul 24 22:43:13 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1846
Jul 24 22:43:21 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2437
Jul 24 22:43:26 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2751
Jul 24 22:43:29 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2734
Jul 24 22:43:33 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2778
Jul 24 22:43:35 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2742
Jul 24 22:43:37 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2582
Jul 24 22:43:42 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2828
Jul 24 22:43:44 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2663
Jul 24 22:43:45 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2490
Jul 24 22:43:46 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2339
Jul 24 22:43:47 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2153
Jul 24 22:43:49 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2022
Jul 24 22:43:53 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2182
Jul 24 22:43:54 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2002
Jul 24 22:43:55 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1813
Jul 24 22:43:57 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1638
Jul 24 22:43:58 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1439
Jul 24 22:44:02 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1452
Jul 24 22:44:06 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1640
Jul 24 22:44:11 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 1836
Jul 24 22:44:17 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2120
Jul 24 22:44:22 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2156
Jul 24 22:44:27 diminuendo-1 /usr/local/sbin/kamailio[31118]: INFO: 
Executing request route with mq size: 2495

So, perhaps my issue comes down to the while() loop breaking before the 
queue is truly empty.  That is, unless those thousands of records are 
somehow showing up between the while() condition evaluation and my log 
statement, which seems quite unlikely.  Any way to fix that?

-- 
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