Засыпание сценария (во время выполнения)

Статус
В этой теме нельзя размещать новые ответы.
Ну используй usleep() - задержка в миллисекундах
 
PHP:
// получаем время начала отсчета
while(true){
    // тут у нас пауза на секунду
    // тут получаем текущее время
    // цикл прерывается, когда прошло     
    // заданное количество секунд
}

Данный подход хорош тем, что в течение этих 15 секунд паузы можно выполнить еще 15 задач, так как в пределах нашей паузы у нас получается 15 отрезков по 1 секунде.

Есть пара замечаний к паузам во время выполнения:
1. Время выполнения серверных скриптов надо сводить к минимуму. Каждый скрипт выполняется в своем потоке, поэтому N пользователей этого скрипта породят N инстансов апача.
2. В отличие от перла у пхп есть лимит выполнения скрипта. В дефолтной настройке ваш скрипт вывалится по тайм-ауту через 30 секунд после начала работы. Значение времени тайм-аута можно настроить или из самого скрипта (при выключенном сейф-моде), или в .htaссess, или в php.ini
Но делать это надо осторожно, так как слишком большое время выполнения может привести к исчерпанию ресурсов на плохо спроектированных и часто выполняющихся скриптах.
 
Ну используй usleep() - задержка в миллисекундах

Мда, оч полезно) читай мой первый пост.

А так, слип и флаш помогли.

ortega3000, это понятно. Да и скрипт выполняется только в один поток, так что там все не страшно)
 
Хм, считал ранее что подобное невозможно...
Шикарно !
 
почему же тогда фокус
Код:
<?

$i = 1;
while($i < 5)
{
	echo $i."<br>";
	flush();
	sleep(1);
	$i++;
}

?>
не срабатывает?
все цифры вываливаются вместе после отработки скрипта.
 
Лично у меня все нормально. Попробуй поставить интервал больше, допустим 5 секунд, чтобы были заметны паузы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху