Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (39 – предобработка мультипроцессов, часть 20)

предыдущая часть ««»» следующая часть

В этой версии Web-cepвepa с предварительным ветвлением внесены все необхо­димые изменения для упорядочения вызовов функции accept () и перезапуска дочерних процессов в целях замены завершившихся. Подобная конструкция вполне может применяться на высоконагруженных проектах сети, например, uCoz . Обеспечено также корректное уничтожение родительским процессом дочерних процессов при завершении работы сервера. Проведем анализ программы.

Строки 1-7. Импортирование модулей. Кроме модулей, импортируемых в предыдущих вер­сиях, импортируется модуль Fcntl. Он экспортирует несколько констант, необходимых для установки и снятия блокировки файла.

Строки 8-11. Определение констант. Кроме prefork_children и pidfile, определяется константа max_request. Она устанавливает число транзакций, которые должны быть выпол­нены каждым дочерним процессом перед завершением его работы. Установка небольшого значения этой константы позволяет следить за тем, как завершается работа дочерних процес­сов и выполняется запуск родительским процессом новых дочерних процессов для замены за­вершившихся. Определена также переменная debug, которую можно установить для записи в журнал подробных сообщений.

Строки 12,13. Объявление глобальных переменных. Введена новая переменная $child_count, которая обозначает число дочерних процессов, активных в любое заданное время. Переменная $done, как и прежде, применяется для указания родительскому процессу, что настало время завершить работу.

Строка 14. Обработчики сигналов. Обработчики int и term принимают запросы на завер­шение работы сервера. Как и прежде, обязанности по установке обработчика сигнала CHLD возлагаются на модуль Daemon.



2014-12-10 15:52:09

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония