ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: [apache-talk] Timeout





On Wed, 12 Dec 2001, Andrew Sitnikov wrote:

> Hello Khimenko,
>
> Наверно правильнее использовать fsockopen() тем самым проверить есть
> ли возможность сделать коннект на нужный ност и порт, если нет то
> игнорировать этот хост.
>
> http://www.php.net/fsockopen
>
[skipped]
>
> KV> Есть простое решение, которое, правда не годится при больших нагрузках:
> KV> сделай ДВА .php-скрипта. Одному установи разумный timeout и пусть он
> KV> ТОЛЬКО забирает файл и отдает его наружу, а второй уже делает все
> KV> остальное. Второй ходит куда-нибудь на
> KV> http://localhost/path-to-first-on/name.php?arguments
> KV> и если получает файл, то получает, если не получает, то не получает.
> KV> Нужно только timeout'ы поставить разные - чтобы второй скрипт мог еще
> KV> как-то отреагировать на произшедший timeout в первом :-)
> Не очень красивое решение
>
А чем плохо-то ? Второй apache запускается ? Ну дык если нагрзка невелика,
то это неважно. А если даже убеиться, что сервер есть и отвечает перед
получением файла, то все равно есть еще возможность не получить файл из-за
того, что где-то канал забился или еще чего (например если винт на сервер
сдох, то он БУДЕТ отвечать на ping, БУДЕТ устанавливать connection, но
МОЖЕТ просто виснуть на неопределенное время при попытке реально скачать
файл). В моем решении ты гарантированно получаешь файл, когда это можно
сделать и гарантированно же получаешь отлуп (или недокачанный файл) -
когда нельзя. Что может быть лучше, чем более экономное решение с
fsockopen или ping'ом ... А с fsockopen при неаккуратной реализации (и/или
не очень корректно написанном ftp-сервере) может плодить открытые процессы
на этом самом ftp-сервере (они через 10мин. умрут, сворее всего, по
timeout'ы - но за 10мин. можно МНООГО процессов наоткрывать) - за что тебя
по головке не погладят ... В общем нужно смотреть на специфику задачи: любое
РАБОТАЮЩЕЕ решение красивее любого НЕ РАБОТАЮЩЕГО :-)


=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.