<!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">&lt;<a moz-do-not-send="true"
                href="mailto:vladpaiu@opensips.org">vladpaiu@opensips.org</a>&gt;</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.&nbsp;<br>
                  &nbsp;&nbsp;&nbsp; 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&nbsp;everything&nbsp;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>