Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2013, 10:50
Avatar de humanista
humanista
 
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Controlar proceso repetitivo

Hola,

en mi servidor hay una opción en la que puedes hacer que se ejecute un script cada x minutos.

El tema es que yo le pongo cada 2 minutos y este script, por razones que no aportan nada, normalmente dura en torno a 1:50 y algunas raras veces hasta los 6 min e incluso más.

El tema es que el script se ejecuta en ocasiones muchas veces a la vez y me dicen que tengo que solucionar el tema porque se les cae el servidor.

Me han aconsejado esto:

Código PHP:
<?php
$fp 
fopen('/tmp/lock.txt''r+');

/* Activar la opción LOCK_NB sobre una operación LOCK_EX */
if(!flock($fpLOCK_EX LOCK_NB)) {
    echo 
'No se puede obtener el bloqueo';
    exit(-
1);
}

/* ... */

fclose($fp);
?>
Es el ejemplo #2 de aquí: http://www.php.net/manual/es/function.flock.php

Mi pregunta es si eso soluciona el tema y qué hace concretamente el script, según me han dicho no permitir que se ejecute de nuevo el script hasta que se haya terminado el script anterior.

Intuyo que lock.txt será mi archivo .php donde está el script.