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 bien, e interactuan con la base de datos bien)...
fin del proceso, cambio 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!