in reply to Re^4: How to do parallel processing within mod_perl
in thread How to do parallel processing within mod_perl

Well, as I said in my last reply: "@result is empty".

I did some more searching and reading and it seems there are two reasons: First, I have to use waitpid somehow (don't know how to do this with multiple/unknown number of sub-processes and Second it doesn't seem to be easy to share a variable between parent and kids. I need this because the whole point is to collect search results from the children and I don't know how to get them back to the parent.

I will write to the mod_perl list as you suggested and thanks for getting me that far.

-Michael

  • Comment on Re^5: How to do parallel processing within mod_perl

Replies are listed 'Best First'.
Re^6: How to do parallel processing within mod_perl
by erroneousBollock (Curate) on Nov 15, 2007 at 14:13 UTC
    it doesn't seem to be easy to share a variable between parent and kids. I need this because the whole point is to collect search results from the children and I don't know how to get them back to the parent
    Sounds like you want threads.

    -David

      Threads are generally not advisable in situations like mod_perl or FastCGI with Perl, because they take up a lot more memory than a prefork approach. They can be useful for short-lived things, but usually forking is less resource-intensive due to the non-shared nature of Perl threads and copy-on-write savings for forking.
        Threads are generally not advisable in situations like mod_perl or FastCGI with Perl, because they take up a lot more memory than a prefork approach.
        It really depends how you use them.

        You can pre-thread just as easily as pre-fork. The threads needn't have anything you don't want loaded/cloned into them.

        If you maintain a pool of threads for this kind of task, simply feed them using Thread::Queue.

        They can be useful for short-lived things, but usually forking is less resource-intensive due to the non-shared nature of Perl threads and copy-on-write savings for forking.
        I think the benefits of COW for the Perl 5 interpreter are vastly overstated by most people. Ask BrowserUK what he thinks of the situation.

        -David