PHP - Ejecutar proceso aunque cierre la pagina

 
Vista:
sin imagen de perfil
Val: 12
Ha disminuido su posición en 73 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar proceso aunque cierre la pagina

Publicado por Pavel (9 intervenciones) el 21/09/2019 00:05:31
Hola a todos

quiero su apoyo con lo siguiente:

tengo un store procedure en SQL que demora en salir unos 20 minutos por la cantidad de información, por lo que quiero que al finalizar todo el proceso se envíe los resultados al correo del usuario en un Excel.

la verdad no tengo ninguna idea de como hacer esto por lo que estoy en cero así que quienes puedan darme una luz de como se hace se los agradeceré.
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
sin imagen de perfil
Val: 35
Ha disminuido su posición en 33 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar proceso aunque cierre la pagina

Publicado por LEONARDO (13 intervenciones) el 23/09/2019 23:50:24
php cron job
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
sin imagen de perfil
Val: 12
Ha disminuido su posición en 73 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar proceso aunque cierre la pagina

Publicado por Pavel (9 intervenciones) el 24/09/2019 01:28:32
Hola leonardo por favor no se me podrías explicar un poco sobre eso
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
sin imagen de perfil
Val: 35
Ha disminuido su posición en 33 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar proceso aunque cierre la pagina

Publicado por LEONARDO (13 intervenciones) el 24/09/2019 01:39:12
PHP cron job ( como lo dice ) es una tarea " función" que se ejecuta cada x tiempo ( buscar documentación ) , se me ocurre que podés hacer una tabla ( usuariossolicita con campo email y acción ) que cuando el usuario solicita x proceso haga un insert en una tu tabla ( usuariossolicita ) . Hasta ahí fácil , ahora entra cron Jobs ( está es una función normal ) que se ejecuta ponele cada 30 minutos y busca en ( usuariossolicita ) y si encuentro que alguien solicito hace la función que querés y envía el email cuando termina , con eso el usuario no espera nada .
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
Imágen de perfil de Alejandro
Val: 1.529
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar proceso aunque cierre la pagina

Publicado por Alejandro (598 intervenciones) el 24/09/2019 16:07:01
Lo primero es entender la arquitectura cliente-servidor.
Si solicitas una pagina, el servidor ejecuta el script aunque cierres el navegador, obviamente no es muy elegante.
Con AJAX puedes realizar la petición y cancelar la espera de la respuesta.

Te dejo un ejemplo con jQuery
1
2
miPeticion = $.ajax({...});
miPeticion.abort();

Aquí cabe mencionar que si el servidor va estar ocupado por tanto tiempo quizá no responda mas solicitudes dejando una bonita ventana para un ataque de DoS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha disminuido su posición en 73 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar proceso aunque cierre la pagina

Publicado por Pavel (9 intervenciones) el 24/09/2019 22:15:07
Hola Alejandro gracias pro contestar, quiero entender un poco, me dices que si ejecuto un php "donde tendrá la consulta" este se seguirá ejecutando hasta que termine "enviando el correo" que mencione usando miPeticion.abort();, pero si debo de tener en cuenta de que puede ocupar demasiado el servidor que lo deje sin trabajo de otras solicitudes.

pregunta: ¿y como podría saber si esta avanzando la consulta o simplemente se bloqueo?
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