Ограничение по времени выполнения отдельных участков кода
Допустим имеется:
for($i=1;$i<=10;$i++) {
// тут мы выполняем некие действия которые теоретически могут
// затянуться по времени, а нам это не нужно, и мы хотим в этом
// случае оборвать скрипт
}
Допустим я хочу на каждую итерацию цикла установить 30 секунд, то как мне это сделать? Нужно что-то типа:
$limit=30;
for($i=1;$i<=10;$i++) {
set_time_limit($limit); $limit+=30;
// тут мы выполняем некие действия которые теоретически могут
// затянуться по времени, а нам это не нужно, и мы хотим в этом
// случае оборвать скрипт
}
Подскажите так можно написать? (я не знаю как это проверить). Может подскажете более правильный вариант. |
запускать по cron'у каждый 30 секунд, а в скрипте учесть, что он может не успеть что-то сделать. А вообще сложно отвечать на такой абстрактный вопрос
|
Считай (пример 1) длительность и анализируй если надо соскочить с некой итерации цикла
|
Цитата:
Цитата:
А вот такая конструкция разве не поможет? set_time_limit($limit); $limit+=30; Допускается ли использование set_time_limit несколько раз? будет ли она при этом работать? ПС: проблема еще в том, что я не могу придумать способа это проверить... |
Цитата:
Цитата:
$limit=2;
for ($i=0; $i<10; $i++) {
echo '.';
if ($i == 1)
echo "\nyou ain't gonna see this\n";
set_time_limit($limit);
$limit += 2;
sleep( 3 );
}
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:03. |