Ho provato con Perl fork manager e DBI. Ma ho ricevuto l'errore DBD :: mysql :: st execute failed: connessione persa al server MySQL durante la query.Perché non riesco a interrogare un database da un figlio biforcuto in Perl?
Ecco il codice di esempio: Voglio fare domanda tra basso ad alto valore (ho sputato record int 10k)
use Parallel::ForkManager;
my $pm = new Parallel::ForkManager(50);
my $db = krish::DB->new or die $!; # its has all connection details
while ($low < $high ) {
# Some value manipulation
my $pid = $pm->start and next;
#db_execution returns execution
while (my $sth = db_execution ($db, $low , $high)) {
...
#fetch row operation
...
}
$pm->finish;
}
sub db_execution {
...
my $dbh = $db->connect('students') or die $!;
my $sth = $dbh->prepare($sql) or die "$!:" . $dbh->errstr;
$sth->execute or die "$!:" . $sth->errstr;
...
}
Lo stesso codice viene eseguito con l'elaborazione in parallelo fuori. Qual'è il problema? Come risolvere è questo?
Siamo spiacenti. Ho erroneamente convertito in wiki della comunità – joe