Foros del Web » Programando para Internet » PHP »

problema con php y cronjob

Estas en el tema de problema con php y cronjob en el foro de PHP en Foros del Web. Saludos a todos. Resulta que he tenido un inconveniente ejecutando un script de php desde el cron. El script lo que hace es que extrae ...
  #1 (permalink)  
Antiguo 28/04/2011, 23:24
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
problema con php y cronjob

Saludos a todos.

Resulta que he tenido un inconveniente ejecutando un script de php desde el cron.

El script lo que hace es que extrae información de un archivo de texto, y la almacena en una base de datos de mysql. SI ejecuto este desde el navegador funciona perfecto.

Si lo ejecuto desde el crontab, ingresa los registros a la base, pero al mismo tiempo ingresa registros erroneos.

Un ejemplo de lo que deberia de hacer es el siguiente:

1) Buscar un vuelo, si el vuelo existe, devolver el id. Sino insertar vuelo y devolver id.
2) Buscar viejero, si el viajero no existe, insertar viajero y devolver el id
3) Insertar documento de viaje.

Como dije, ejecutandolo desde el navegador no da problemas, el problema se presenta usando el crontab, que muchas veces, ademas de los registros correcto, devuelve id equivocados, y de ahi ingresa varios registros basura.

¿Que creen que podria estar mal?

Este es el codigo:

Código:
$rsVuelo = new ResultSet(verificaVuelo($codigoAerolinea, $numeroVuelo, fechaVueloDestino, $codigoAeropuertoDestino), $conexionUNEdifact);

$fila = $rsVuelo->getNumeroDeFilas();

if ($fila == "0")
{
 $idVuelo = insertarVuelo($codigoAerolinea, $numeroVuelo, $codigoAeropuertoOrigen, fechaVueloOrigen, $horaVueloOrigen, $codigoAeropuertoDestino, $fechaVueloDestino, $horaVueloDestino, $conexionUNEdifact);
 ViajeroYDocumento($idVuelo, $tipoViajero, $nombre1, $nombre2, $apellido1, $apellido2, $nacionalidad, $fechaNacimiento, $genero, $numeroDeReserva, $aeropuertoDeEmbarque, $aeropuertoDeDesembarque, $tipoDocumento, $numeroDocumento, $fechaVencimiento, $conexionUNEdifact);
}
else
{
 $rsVuelo->next();
 $idVuel = $rsVuelo->getString(0);
 ViajeroYDocumento($idVuelo, $tipoViajero, $nombre1, $nombre2, $apellido1, $apellido2, $nacionalidad, $fechaNacimiento, $genero, $numeroDeReserva, $aeropuertoDeEmbarque, $aeropuertoDeDesembarque, $tipoDocumento, $numeroDocumento, $fechaVencimiento, $conexionUNEdifact);
}
  #2 (permalink)  
Antiguo 28/04/2011, 23:34
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema con php y cronjob

acabo de percatarme que hay una variable mal escrita

Código:
$idVuel = $rsVuelo->getString(0);
debería ser:

Código:
$idVuelo = $rsVuelo->getString(0);
mmm Lo probaré y luego comento si persiste.

Ya espero que no funcione, porque he pasado varios días dandole vuelta a este asunto y no le hayaba errores al codigo jejeje
  #3 (permalink)  
Antiguo 29/04/2011, 00:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema con php y cronjob

Lo probe con la corrección de la variable, y sigue dando el mismo problema.

Corriendo el script desde el navegador los resultados en la base son

76 vuelos
5477 viajeros
5477 documentos

Si lo corro desde el cronjob me devuelve

76 vuelos
5583 viajeros
5583 documentos

106 registros basura de viajeros + 106 de documentos

Sugerencias.

atte.
  #4 (permalink)  
Antiguo 02/05/2011, 21:24
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema con php y cronjob

Pues lo corregi, o por lo menos ya no me dio el problema, lo que hice fue cambiar una variable y un if.

De esto:

Código:
$fila = $rsVuelo->getNumeroDeFilas();
if ($fila == "0")
a esto:
Código:
 if ($rsVuelo->getNumeroDeFilas() == 0)
Despues de eso, ya no he tenido problemas. Supongo que el cron interpretaba de alguna manera diferente, al navegador, esa variable y ese if.

Bueno espero que a alguien le sirva este caso.

Saludos.
  #5 (permalink)  
Antiguo 02/05/2011, 23:03
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: problema con php y cronjob

Hola

Según lo que entiendo, una instalación de php en un servidor posee 2 contextos, uno es la asociación con apache y la otra es la ejecución independiente tipo "cliente". Ambos contextos se configuran diferente, o sea, se pueden configurar de manera independiente. Incluso, podría uno ejecutar php5 y el otro php4. Algo como eso debió provocar el problema.

Sería bueno que probaras ejecutando el cron y que guarde la versión de php o phpinfo() y lo mismo la ejecución en el navegador, para salir de dudas ;)

Suerte
Sotelio

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:38.