PHP - Someter proceso....

   
Vista:

Someter proceso....

Publicado por Martin (3 intervenciones) el 27/12/2007 17:06:24
Buenas, hace un tiempito que estoy buscando alguna funcion para someter un proceso en php. Tengo un sistema que importa un archivo txt y busca estos datos en una base de datos. Al final deseo que me traiga los registros coincidentes y que envie un mail a x cantidad de direcciones con los resultados. Todo este proceso funciona pero tarda mucho tiempo. Escuche que hay una funcion o palabra reservada que puede someter este proceso y liberarme la aplicacion, asi el usuario puede cerrar la ventana y el proceso seguira ejecutandose hasta finalizar. Alguno sabe como se llama esta funcion?
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:Someter proceso....

Publicado por Diego Romero (1450 intervenciones) el 27/12/2007 22:37:42
Haces dos afirmaciones contradictorias. Por un lado dices "tarda mucho tiempo" y por el otro dices "liberarme la aplicacion, asi el usuario puede cerrar la ventana y el proceso seguira ejecutandose hasta finalizar". Pareces decir que como el proceso actual tarda mucho tiempo entonces el usuario no puede cerrar la ventana, lo cual es falso. El proceso seguirá corriendo sin importar qué es lo que haga el usuario. El límite de tiempo está impuesto por la entrada en el php.ini max_execution_time que por omisión es 30 segundos.

Quizá ese sea tu problema, que el tiempo de ejecusión es muy corto para el proceso que quieres realizar.

Ahora bien, lo que quieres hacer es "forkear" un proceso nuevo a partir de tu script lo cual se puede hacer pero es más complicado que solo ejecutar una sentencia. En principio ese servicio solo está disponible en Unix y no en Windows. Como todo proceso paralelo corres el riesgo de dejar el proceso hijo como huerfano, es decir, el proceso padre termina de ejecutarse y el hijo no tiene a dónde regresar el resultado. Me gustaría saber exactamente cuál es el problema que estás experimentando y sobre qué plataforma estás programando. La solución podría ser otra de la que estás pensando.
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:Someter proceso....

Publicado por Martin (3 intervenciones) el 28/12/2007 00:55:31
Lo que necesito es que el usuario no quede esperando algunas horas hasta finalizar el proceso. Cuando ejecuto el proceso (que solo es comparar cadenas) no hace falta regresar el resultado, todo se guarda en una tabla. Lo que quiero es cuando el usuario sube el archivo, aparesca la ventana de logout y salir de la aplicacion. Pero necesito que el proceso se ejecute hasta finalizar. Con respecto a la plataforma estoy usando windows y unix.
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:Someter proceso....

Publicado por Diego Romero (1450 intervenciones) el 28/12/2007 10:17:59
Pero por qué tiene que esperar?, el usuario puede cerrar su navegador en cualquier momento, nada se lo impide y no tiene ningún efecto en el servidor.

Quizá no estás pensando el proceso de la forma adecuada. El proceso no tiene por qué iniciarse inmediatamente después de que el usuario ha subido el archivo. Yo diría que recibas el archivo y esperes a que el usuario de la orden de comenzar el proceso y ya está.

Ah, otra cosa. Si el proceso dura horas, seguirá durando horas no importa si es el proceso padre o un proceso hijo de éste.
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