Foros del Web » Programando para Internet » PHP »

Lanzar proceso PHP en background

Estas en el tema de Lanzar proceso PHP en background en el foro de PHP en Foros del Web. Hola; ¿Como puedo lanzar un proceso de PHP en background ó en 2º plano? Mi problema es que via web llamo a un procedimiento almacenado ...
  #1 (permalink)  
Antiguo 07/06/2004, 01:24
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años
Puntos: 2
Pregunta Lanzar proceso PHP en background

Hola;
¿Como puedo lanzar un proceso de PHP en background ó en 2º plano?
Mi problema es que via web llamo a un procedimiento almacenado que tiene que ejecutar una gran lista de acciones en la base de datos. Este proceso genera un log con todas las acciones realizadas. Al cabo de unas horas el proceso se me corta y no se si es por temas de timeout en PHP, Apache ¿¿??
Alguien me puede dar alguna idea ???

PD: el log que me genera ocupa más de 4MB y tiene más de 125.000 lineas (acciones realizadas)... pero se corta

Un saludo
Txarly
__________________
¿Por qué Uri Geller doblaba cucharas?
  #2 (permalink)  
Antiguo 07/06/2004, 04:47
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años
Puntos: 2
He visto que con la función exec podria llamar a un fichero bat que se encarge de conectarse a la base de datos y ejecutar un procedimiento almacenado, sin embargo, para pasar los parametros al procedimiento almacenado necesito pasarlos desde PHP, es posible pasar a la función exec parametros ???
__________________
¿Por qué Uri Geller doblaba cucharas?
  #3 (permalink)  
Antiguo 07/06/2004, 12:47
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 5 meses
Puntos: 4
si tienes problemas con el MAX_EJECUTION_TIME puedes hacer un tipo de paginacion y recargar la página, cada determinado numero de procesos la direccionas a la siguiente pagina de la forma procesos.php?inicio=1&cantidad=100 cuentas los ciclos y al llegar a 100 terminas con una pagina y la direccionas al procesos.php?inicio=100&cantidad=100. Es lo que hace mas o menos el iSearch cuando hace el spidering o como se llame.
  #4 (permalink)  
Antiguo 08/06/2004, 08:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Puedes usar la función:

register_shutdown_function()

Ejemplo:

Código PHP:
<?
function proceso_background(){
// tu proceso
}

register_shutdown_function('proceso_background');
?>
Con esa función vía HTTP lanzas el proceso y dejas a PHP que lo termine independientemente de que cierres la ventana de tu navegador. El proceso continuará.

Un saludo,
  #5 (permalink)  
Antiguo 25/05/2009, 08:24
 
Fecha de Ingreso: abril-2006
Mensajes: 14
Antigüedad: 17 años, 11 meses
Puntos: 0
Duda sobre lanzar proceso PHP en background

Hola amigos tengo el siguiente problema:

Quiero correr un script en mi servidor el cual compruebe ciertos datos en mi DB todos los dias a una hora determinada. La cuestione es que necesito un demonio que corra en background en el servidor pero no se como se hace.
Un saludo.

Mi correo: [email protected]
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:16.