Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@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@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.