tengo una web en la que ejecuto un proceso en PHP cada 2 min., concretamente éste:
Código PHP:
<? php
$fp = fopen('/home/virtual/miweb.com/process/php-commit.lock', 'r');
if (!flock($fp, LOCK_EX | LOCK_NB))
{
exit;
}
require_once('process.php');
echo "Hecho!";
// ... do stuff
fclose($fp);
?>
Este procces.php lo que hace es leer feeds de otras webs mediante el "Simplepie" y traerme sus datos para meterlos en la base de datos.
Ocurre que a veces el proceso dura más de 1 min 30 seg., que es lo que habitualmente dura de media. Incluso en ocasiones se alarga hasta los 5 ó 10 min.
Lo peor es cuando se queda bloqueado y no se ejecuta hasta que me doy cuenta y lo vuelvo a lanzar manualmente.
Me han dicho en el hosting que no es del servidor, sino que tengo que "matar el proceso" porque a veces se queda colgado por culpa de que los servidores a los que intento acceder para traerme los datos del feed dan problemas.
Cómo puedo matar el proceso en caso de que éste se demore más de 2 min?