прерывание функции

Lifeline

Новичок
прерывание функции

Сорри, ещще раз возвращаюсь к вопросу.

Начало такое:


Имеем вот такую хорошу функцию, но бывет люди ошибаются буковками, вводят несуществующий хост и скрипт или вываливается по окончинии 30 секундного лимита в ожидании ответа от функции или отваливается броузер пока скрипт думает в том же месте. Какие есть варианты ? обычно если хост существует он находиться мгновенно - максимум секунда, но не 30 и не 50 как оно ждет прежде чем выдать ошибку. Кто-нибудь сталкивался с этим ?

пробую
<?php
function profile ()
{
global $tick_start;
if (!$tick_start) $tick_start = time();
echo "$tick_start , now: " . time() . "\n";
if(time() > $tick_start+2) { echo "stop"; exit;}
}

register_tick_function("profile");

profile ();

declare (ticks=1) {
echo gethostbyname("sfdfsafasf.com");
}

?>

во время gethostbyname даже тики не идут, что можно еще придумать ?
 

lovchy

nacido para cifrar
Тики то может и идут, но вот функцию бряка он не обрабатывает, т.к. выполняется другая функция.

Думаю, что тут врядли что можно сделать, что не будет существенно тормозить сей процесс.
 

Lifeline

Новичок
Вопрос даже не в бряке, а в том что по идее на каждый тик должно выводить текущее время, а оно не выводит =( короче страшная это функция какая-то =)
 

Screjet

Новичок
В таких сетевых функциях как
PHP:
gethostbyname()
конкретно не хватает параметра "timeout".. Хотя насколько помню с api, то кажись все оттуда - там тоже нет таймоута..
 

young

Новичок
Используй системный вызов nsloockup, он позволяет устанавливать timeout
 

BUGzzz

Guest
Только беда в том, что системные вызовы не всегда разрешены хостером :(
 

Lifeline

Новичок
это да... в моем случае все эе решилось это таким вызовом, но ясно что тут для разработчиков еще есть поле для деятельности =)
 

Crazy

Developer
kvn, зачем RFC тому, кто не может освоить дао гугла?

Нет, я правда не понимаю этого мазохизма: долго стонать о тех или иных недостатках вместо того, чтобы просто пойти и поискать готовое...
 

Screjet

Новичок
Автор оригинала: Crazy
Нет, я правда не понимаю этого мазохизма
Лепить проект из готовых блоков кода - это несколько иной метод, требующий определенной квалификации, ..который не лишен недостатков, вот которые пришли на ум:
1. Требует умение читать чужой код.
1.1. --//-- быстро обнаруживать баги и глюки в чужом коде (некоторым это не удается в собственном коде).
2. Вся ответственность за дыры, баги и глюки ложатся на "программиста" (кто потом будет слушать, что "я не идиот" и готовый код был скачен с инета.. :))
 

nagash

Guest
а надо лепить проэкт из своих блоков кода...
у меня вот очень удобно всё по блокам и получается модульная система...
новый проэкт - цена большая - а посути слепить акуратненько готовые модули... подправить базы для нового заказа и вуаля...
всё готово!
 
Сверху