Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/03/2010, 01:12
Avatar de pepejaguar
pepejaguar
 
Fecha de Ingreso: enero-2005
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Respuesta: Pregunta sobre la función sleep()

Aquí un ejemplo de lo que tengo pensado, aunque no creo que sea una solución muy fina y seguro hay una forma mejor, pero es para tomar la idea.

Código PHP:
$origenes mysql_query("SELECT id,titulo FROM datos");
while (
$origen mysql_fetch_array($origenes)) {

echo 
$origen['titulo']."<br />";

if(
fmod($origen['id'], 1000) == 0) { sleep(5); } 

Nota: las consultas son mas complejas e incluye consultas combinadas y condicionales, pero para lo que quiero hacer, esto lo ejemplifica bien.

El echo $origen['titulo']."<br />"; es para simbolizar las operaciones que se realizan.

La clave está en if(fmod($origen['id'], 1000) == 0) { sleep(5); }

Básicamente lo que hace es que cuando el id es múltiplo de 1000, se detenga 5 segundos y luego continúa.

Lo he probado en localhost y funciona bien, con una prueba de 7000 registros, pero me parece que la solución es algo tosca y aún no me convence.

En este caso, el script se detiene 7 veces, sumando 35 segundos de parada, mas lo que tarda en ejecutar las consultas, ¿es correcto?, al detenerlo con sleep() ¿se reinicia el tiempo de ejecución o se continúa sumando el tiempo que ya llevaba?.

Última edición por pepejaguar; 21/03/2010 a las 09:31