PHP - agilizar la carga de una pagina

 
Vista:

agilizar la carga de una pagina

Publicado por cristian (2 intervenciones) el 17/09/2010 03:13:44
hola a todos: en mi desarrollo considere que al momento de hacer click en un boton este haga lo sgte: consultar a la bd, en un frame redireccionar a otra pagina, esta pagina hace varias actualizaciones a la bd una de ellas hace la consulta y si es ok llama a otro archivo php que tiene una rutina pàra crear un pdf con fpdf este a su vez crea el archivo "F" en una estructura de directorio, al terminar esta rutina se llama a otra rutina que envia un mail con php atachando el archivo pdf que se creo, envia el correo, hace un update a la bd y redirecciona a otra pagina, con este redireccionamiento llego a la pag principal. mi consulta es que todo este proceso se demora desde el click hasta la redireccion casi 30 seg. si omito estas rutinas se demora 5 seg. hay alguna forma de hacer que se procese esos procedimientos en background y se redireccione a la pagina principal, para que no sea muy lento para el usuario?. gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:agilizar la carga de una pagina

Publicado por cotorro (1 intervención) el 17/09/2010 15:56:28
???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agilizar la carga de una pagina

Publicado por Andres (52 intervenciones) el 17/09/2010 18:32:40
Hola Cristian,

No está muy claro que parte es la que omites de todo el proceso. De todas formas 30 seg me parece mucho tiempo (salvo que estés manipulando una gran BD).
Las demoras pueden estar en varias partes del código, habría que determinar cual.

Una de las formas de que trabaje en background es con Ajax, quizás sea la respuesta.

Saludos.

Andrés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agilizar la carga de una pagina

Publicado por cristian (2 intervenciones) el 18/09/2010 01:55:34
Gracias andres por la respuesta, en teoria no es muy grande mi BD en tabla pacientes tendre unos 6 millones d registros en clientes unos 600 registros, por dia crece a razon de 200 dia, la de pacientes es la que sufre mas, ya que cada click del usuario hace un update o un insert, lo que deseo es que cuando de el click el usuario, el php lo direccione automaticamente a la pg principal y que quede en background los otros procesos como, la creacion del pdf, este archivo php espera un $_SESSION['id_cod'] y se genera el pdf, termina ese proceso y comienza la function enviamail() con mail de php, termina eso y hace 3 update a 3
tablas y elimina el archivo pdf de la estructura de directorio. derrepente seria mas rapido si lo creo en memoria??, no se como hacer eso, y si dices en ajax no tengo mucha experiencia pero si me puedes orientar.

gracias.
slds,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agilizar la carga de una pagina

Publicado por Andres (52 intervenciones) el 20/09/2010 05:07:52
Cristian,

Por un lado, te convendría optimizar los procesos de la BD (buscar experto en el tema).
Por otro lado, en la creación de archivos temporales habría que tomar el tiempo en los procesos, no estoy seguro si el temporal sería más rápido.

Otra opción sería separar los procesos, tenerlos listos y utilizar un cron job del servidor para que haga el trabajo a determinada hora del día.

El tema de ajax, podrías recorrer el foro de ese tema para tener una idea. Personalmente utilizo los métodos ajax de jQuery (ya que son más simples):
$.post, $.get, $.ajax etc...

Esta tecnología permite enviar al servidor datos que luego pueden ser recuperados sin que la página se recargue.

Saludos.
Andrés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar