Форум: "Сети";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
Внизкак корректно завершать работу с поднятым IdHTTPServer ? Найти похожие ветки
← →
laao (2008-05-08 15:47) [0]есть сервис на Delphi, внутри сервиса создается Indy HTTPServer, который будет получать большое число запросов GET. то есть в момент завершения сервиса (событие onStop или onShutdown) будет существовать некоторое количество потоков, обрабатывающих запросы. как дождаться в методе их завершения ? или это не нужно руками делать ?
← →
palva © (2008-05-08 15:57) [1]По-моему, это не тот случай, где нужно чего-то ждать. Нужно срочно все закрывать, завершать все потоки и закрываться. Если будет промедление, у оператора могут быть проблемы с последующим стартом этого сервиса.
← →
laao (2008-05-08 16:00) [2]нет, тут важно обработать корректно все те запросы, которые были приняты
да там то и у HTTPServer параметр TerminateWaitTime стоит в 20000, то есть 20с на запрос максимум ... но не ждать же их каждый раз в onStop sleep"ом. а как посмотреть для компонента IdHTTPServer количество потоков обработки я не знаю
← →
Anatoly Podgoretsky © (2008-05-08 16:50) [3]> palva (08.05.2008 15:57:01) [1]
У оператора могут проблемы не только со стартом этого сервиса, но и со стартом Виндоус.
← →
Reindeer Moss Eater © (2008-05-08 16:51) [4]При стопе взводишь флаг, по которому перестаешь принимать входящие, дожидаешься окончания всех ниток, умираешь.
← →
Reindeer Moss Eater © (2008-05-08 16:59) [5]try
with IdHTTPServer1.Threads.LockList do ShowMessageИлиКакТоПоДругому("всего сессий:" + IntToStr(Count));
finally
IdHTTPServer1.Threads.UnlockList;
end;
← →
laao (2008-05-08 17:04) [6]Reindeer Moss Eater
спасибо
Anatoly Podgoretsky
объясните, плз, почему
← →
laao (2008-05-08 17:41) [7]... для обращения к IdHTTPServer.Threads нужно было руками добавить в uses IdTCPServer
← →
Anatoly Podgoretsky © (2008-05-09 09:54) [8]> laao (08.05.2008 17:04:06) [6]
Разрушишь базы или систему. Нельзя блокировать завершение Виндоус.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c