Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

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!

Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2022-12-07 02:44 GMT
Find Nodes?
    Voting Booth?

    No recent polls found