Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.06;
Скачать: CL | DM;

Вниз

как корректно завершать работу с поднятым 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
11-1208498240
Дмитрий Пырин
2008-04-18 09:57
2009.12.06
Работа с потоками


3-1229419184
nnnicky
2008-12-16 12:19
2009.12.06
Oracle


15-1254688209
Юрий
2009-10-05 00:30
2009.12.06
С днем рождения ! 5 октября 2009 понедельник


2-1255951980
Jack
2009-10-19 15:33
2009.12.06
Excel в TMemoryStream


2-1256050979
CodeRz
2009-10-20 19:02
2009.12.06
Найти число длиной N