Unless you know in advance that there is a reasonable limit to how long a query will take to complete, you might like to consider the traditional approach of splitting the threads into submission threads and a separate transaction monitor. The latter is a daemon (detached process) which maintains a matrix of active queries and returns their results to the requesting processes. A submitter program is needed to communicate between the requester and the transaction monitor. The point is that otherwise all functionality needing to operate on the queries would need to stay alive in the same process until all others were done. By using a transaction monitor architecture, submitters can have any granularity they like down to a single query session or up to any number of asynchronous submissions from the same process without any dependence on each other for completion.

Both requesting processes and the transaction monitor still need a technical way to manage threads, forks, poe or whatever you choose, this having been already addressed in other posts.

-M

Free your mind


In reply to Re: What's the best way to fetch data from multiple sources asynchronously? by Moron
in thread What's the best way to fetch data from multiple sources asynchronously? by xaprb

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.