Foros del Web » Programando para Internet » PHP »

sugerencia: tiempo de ejecucion

Estas en el tema de sugerencia: tiempo de ejecucion en el foro de PHP en Foros del Web. Buenas tardes... tengo un script que permite actualziar la información de una tabla de una bd mysql. Para este proceso el consulta información de 3 ...
  #1 (permalink)  
Antiguo 06/03/2015, 18:09
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 16 años, 1 mes
Puntos: 50
sugerencia: tiempo de ejecucion

Buenas tardes... tengo un script que permite actualziar la información de una tabla de una bd mysql. Para este proceso el consulta información de 3 ws diferentes la procesa y la actualiza en la bd "este proceso lo hace por cada registro de la tabla, aunque en realidad no son muuuuchos registros"


El proceso es un poco demorado, pero en local finaliza correctamente. En el hosting se ha solicitado que se mejoren los tiempos máximos de ejecución de tanto de los parámetros del php.ini como del nginx ya qye al correrlo nos ha generado error de tiempo de ejecución actualmente genera gateway timeout de nginx


El administrador del servidor no quiere realizar estas configuraciones porque dice que un proceso PHP normalmente no debería gastar mas de 2 min para ejecutarse... Yo pienso que eso depende de muchos factores "que procesos realiza, cantidad de información, etc", e verificado el código y veo que la lógica es correcta

Mi pregunta es: que opinan al respecto, si es muy rara la demora de ejecución de mi script, o estan de acuerdo conmigo en que dependiendo la complejidad del proceso el tiempo puede ser mucho mayor al que viene por defecto.


Gracias de antemano por sus opiniones, sugerencias, etc!!!!
  #2 (permalink)  
Antiguo 07/03/2015, 11:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 16 años, 1 mes
Puntos: 2135
Respuesta: sugerencia: tiempo de ejecucion

Normalmente ese tipo de procesos no se realiza en el navegador, como bien indica tu hosting, más de 2 minutos es demasiado para responder.

Lo ideal en este caso es que hagas un proceso con un cronjob que puedas invocar desde el shell, así tu proceso se puede tardar las horas que quiera y no estas limitado al tiempo de respuesta del nginx ni mucho menos es puro PHP.

Saludos.
  #3 (permalink)  
Antiguo 07/03/2015, 11:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 14 años, 7 meses
Puntos: 2658
Respuesta: sugerencia: tiempo de ejecucion

En algunas ocasiones he tenido que realizar procesos que se alimentaban de datos de WS, y lo mas conveniente es que recuperes toda la data que se procesará al mismo tiempo, para luego volcarla a la base en tablas temporales, donde finalmente realizar todo el update masivo por medio de stored procedures.
Incluso si en esa toma de datos inicial terminaras leyendo datos que ya procesaste, es más rápido y eficiente que hacerlo ne forma iterativa, validando cada cosas. A fin de cuentas en ese caso sólo tendrías que armar la validación de los datos ya actualizados dentro del SP, con lo que sigue siendo optimizable.
Hacer la tarea en forma secuencial, consultando WS y luego actualizando, es un error que te puede terminar bloqueando el sistema. No te lo aconsejo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: ejecucion, mysql, sugerencia, tabla, tiempo
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 00:24.