|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 09 Nov 2005 17:09:35 To : Eugene Kuzin Subject : Re: apache headers buffering -------------------------------------------------------------------------------- Eugene Kuzin @ Wed, 9 Nov 2005 11:20:04 +0000 (UTC): EK> столкнулся с такой проблемой. CGI скрипт может получить запрос на EK> обработку данных за _очень_ большое время. Сама эта обработка EK> соответственно тоже может затянуться. Задача: по возможности не дать EK> клиенту отвалиться. EK> "Подвис" происходит в одной функции, которая заранее не знает точно EK> Content-Type (может быть html, может быть excel) так что логичное EK> решение - выдавать в ней в цикле обработки заголовки вида 'X-Wait: EK> wait' или что то в этом духе. EK> Hо. Как выяснилось, apache все хидеры буферизует, и они поступают к EK> клиенту только когда скрипт завершает работу. Причём сами данные он уже EK> может не буферизовать, тут $| регулирует поведение. EK> Hужно заставить Apache отдавать хидеры клиенту по мере их EK> поступления. Или придумать какой-то другой способ удержать клиента от EK> таймаута. Уводить работу в фон, а клиенту отдавать HTML с содержанием вида "подождите чуток" и рефрешем через пару минут на URL, где поначалу отдается такой же HTML, а когда результаты будут готовы - результат. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Ходячая энциклопедия - это девушка, которая пытается многознанием компенсировать отсутствие мыслительных навыков (С)энта --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/256069ec447c3.html, оценка из 5, голосов 10
|