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!
In reply to Re^2: Parallel::ForkManager using up Resources?
by guice
in thread Parallel::ForkManager eating up Resources?
by guice
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |