As has already been hinted at, it isn't necessary to spawn and reap threads during operation, only at startup and shutdown of the service as a whole.

IPC::Semaphore and IPC::SysV (IPC = interprocess communication) contain all the technology you'll need for a master process to communicate with its living children (semaphores, which are part of the operating system, are the most efficient way to manage locking and triggering with shared memory).

See also the System V IPC Chapter of Programming Perl by Larry Wall, Tom Christiansen, and Jon Orwant ISBN 0-596-00027-8 for a nice code example of how to use fork with shared memory and semaphores so that the processes can stay alive and remain in contact for control purposes.

One world, one people


In reply to Re: Reliable asynchronous processing by anonymized user 468275
in thread Reliable asynchronous processing by Codon

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.