Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: Parallel::ForkManager using up Resources?

by guice (Scribe)
on Mar 29, 2005 at 17:01 UTC ( #443185=note: print w/ replies, xml ) Need Help??


in reply to Re: Parallel::ForkManager using up Resources?
in thread Parallel::ForkManager eating up Resources?

All using ForkManager. Children die and close their DB handles in order. Quickly post:

foreach my $ln (@lines) { $pm->start && next; ** child starts my $dbh = $this->_child_db(); ... code here ** child finishes with _close_child(); $this->_close_child(); $pm->finish } $pm->wait_all_children() _child_db() { if (!$this->{'_dbh-child')) { print $$ . ": Creating Child DB Handle"; $this->{'_dbh-child'} = new DBI::Connect ......; } return $this->{'_dbh-child'}; } _close_child() { print $$ . ": Closing child DB Handle"; $this->{'_dbh-child'}->disconnect(); delete($this->{'_dbh-child'}); }

Very rough, please don't try to compile it. All my code is on an internal system not connected to the internet.

My code is all very verbose. Everything is working correctly and in order. All children to finish, total 6 processes max ever within top. Finish is always seen before a Start.

-- philip
We put the 'K' in kwality!


Comment on Re^2: Parallel::ForkManager using up Resources?
Download Code
Re^3: Parallel::ForkManager using up Resources?
by guice (Scribe) on Mar 29, 2005 at 17:09 UTC
    Also -- I've added close and finish methods for each child process through ForkManager, too:
    $pm->run_on_start(\&_child_start); $pm->run_on_finish(\&_child_finish); sub _child_start() { my ($pid, $ident) = @_; print "**** STARTED: child with PID $pid"; } sub _child_finish(){ my ($pid, $exit, $ident) = @_; print "**** FINISHED: child with PID $pid exit cide $exit"; }

    -- philip
    We put the 'K' in kwality!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://443185]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2014-07-29 17:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (225 votes), past polls