<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Brett,<br>
<br>
On 03/16/2011 07:32 PM, Brett Nemeroff wrote:
<blockquote
cite="mid:AANLkTi=_X0mWOPFD4L51G0pds74GMktF820Y9nRx=Xxm@mail.gmail.com"
type="cite">
<div><br>
<div>
<div class="gmail_quote">On Wed, Mar 16, 2011 at 12:18 PM,
Vlad Paiu <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:vladpaiu@opensips.org">vladpaiu@opensips.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div text="#000000" bgcolor="#ffffff">
<div style="font-family: -moz-fixed; font-size: 12px;"
lang="x-western">Hello
all,
<br>
<br>
Problem :
<br>
1) Extend the OpenSIPS DB core. Add extra core
processes that would
only handle queries that return no results. <br>
For example : The accounting module need to insert
an entry in the
DB. The module calls the insert() function. Behind the
scene, this
triggers passing all the arguments to the new core
processes, via IPC
mechanisms. The insert() then exists and the SIP
children continues
execution as if the entry has been inserted in the DB.
Meanwhile, the
DB core processes receive the new parameters, build
and send the query,
blocking if necessary.
<br>
<br>
</div>
</div>
</blockquote>
<div><br>
</div>
<meta charset="utf-8">
Maybe I'm just saying the same thing another way, but what
about an async execution queue. So you basically add to the
queue messages to be executed to the database and on some
sort of timer loop process them. To the script, we just
assume everything is 100% successful.</div>
</div>
</div>
</blockquote>
yes, it is the same what Vlad said, but in other words :)<br>
<blockquote
cite="mid:AANLkTi=_X0mWOPFD4L51G0pds74GMktF820Y9nRx=Xxm@mail.gmail.com"
type="cite">
<div>
<div>
<div class="gmail_quote">
<div>
<br>
</div>
<div>Is IPC really necessary for this? The goal here is
really just to offload the processing elsewhere so that
the DB slowness doesn't adversely affect opensips core
performance. right?<br>
</div>
</div>
</div>
</div>
</blockquote>
IPC is a really generic way of saying - the idea is that you need to
"move" the query from the process handling the SIP message to
another process (DB related only)<br>
<br>
<blockquote
cite="mid:AANLkTi=_X0mWOPFD4L51G0pds74GMktF820Y9nRx=Xxm@mail.gmail.com"
type="cite">
<div>
<div>
<div class="gmail_quote">
<div><br>
</div>
<div>I thin it's also important that there is a async
execute and a sync execute and people (users?) need to
know that in the async execute, you won't know if the
execute succeeded in the script logic *ever*</div>
</div>
</div>
</div>
</blockquote>
<br>
this support will be mainly be used from the other SIP modules (by
the internal code) and not from script, so for "users", this will be
transparent.<br>
<br>
Regards,<br>
Bogdan<br>
<pre class="moz-signature" cols="72">--
Bogdan-Andrei Iancu
OpenSIPS eBootcamp - 2nd of May 2011
OpenSIPS solutions and "know-how"</pre>
</body>
</html>