Resumiendo, el programa sería básicamente esto:
Using perl Syntax Highlighting
...;
while (1) {
my $child_id = fork();
if ($child_id) {
...
}
else {
# Se ejecutan varios módulos según parámetros en paralelo que acceden a la BD
# (consultas, updates, etc.)
}
}
while (1) {
my $child_id = fork();
if ($child_id) {
...
}
else {
# Se ejecutan varios módulos según parámetros en paralelo que acceden a la BD
# (consultas, updates, etc.)
}
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Tengo una clase que se encarga de conectarse a la BD y ejecutar las queries. Algunas funciones son estas:
Using perl Syntax Highlighting
- sub connect {
- my $self = shift;
- $dsn = "DBI:mysql:database=$self->{database};host=$self->{host};port=$self->{port}";
- return $db if defined $db;
- $db = DBI->connect( $dsn, $self->{user}, $self->{password}, { RaiseError => 1 } );
- $db->{mysql_auto_reconnect} = 1;
- $db->{InactiveDestroy} = 1;
- $db->{'AutoCommit'} = 1;
- return $db;
- }
- sub executeSQLUpdate {
- my $self = shift;
- my $sql = shift;
- my $mySQL = $db->prepare($sql) or print "Error en prepare $sql" . $db->errstr;
- $mySQL->execute() or print "Error en execute '$sql' \n ";
- $mySQL->finish();
- return;
- }
- sub getValue {
- my $self = shift;
- my $sql = shift;
- $self->connect();
- my $mySQL = $db->prepare($sql) or print "Error en prepare $sql" . $db->errstr;
- my $result = $mySQL->execute() or print "can't execute the query: " . $mySQL->errstr;
- if ( $mySQL->rows == 0 ) {
- return undef;
- }
- else {
- my @element = $mySQL->fetchrow_array();
- return $element[0];
- }
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
¿Alguna idea de cómo puedo solucionar este tema?
¡Gracias!