Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/09/2012, 18:34
juanjoseab
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 5
Pregunta Ejecutar un PHP en Background

Hola a todos, tengo una situación medio complicada, necesito hacer un script que ejecute un proceso que dura por lo menos 10 horas, este proceso en principio debe ejecutarse en el Background es decir, sin necesidad que el usuario tenga el navegador o incluso la computadora local encendida.

principalmente use la funcion exec(), para mandar a mi servidor (Linux Centos 6) el comando de ejecución al script PHP a traces de pcli, mas o menos quedo asi


Código PHP:
exec("php ruta/al/archivo/php.php"); 
y en este archivo, que es el que contiene el proceso de 10 horas... (no puede ser menos por el tipo de proceso), inocia:

Código PHP:
set_time_limit(0); //esto es segun entiendo para que el archivo no tenga tiempo limite de ejecución
ignore_user_abort(true); //para que el script se ejecute incluso sin necesidad de interacción con el navegador del usuario.
require_once(misFuncionesDeSeguridadYValidacion.php);

proceso... proceso... proceso... bucles... procesos... (todos funcionan biene interactuan con la base de datos bien)...

fin del procesocambio estados en la base de datos y finalizo el archivo 



situación... el archivo si lo ejecuto de esta manera, me da un maximo me vida de ejecución de 15 min, pero si lo ejecuto desde la consola del linux o via SSH entonces si dura lo que tiene que durar.

alguien tiene alguna idea de como puedo arreglar esto o de que otra manera podria hacerlo.


Cualquier aporte es bienvenido!