[Moscow.pm] XS как переименовать модуль?

Mons Anderson inthrax на gmail.com
Пт Фев 4 04:20:56 PST 2011


On Friday 04 February 2011 09:51:21 Ivan Petrov wrote:
> ща пришли к такому варианту перезапуска:
>  * пишем свой tcp_server (поскольку Марк в AE отказался подобавлять
> каллбеки): нужно чтобы он мог пуститься с готовым сокетом, а так же
> "спрашивал разрешения" на accept.
> * в определенный момент машина перестает 
> делать accept'ы (клиенты копятся в очереди)
> * как только все соединения 
> обработаны делаем fcntl на сокет чтобы он мог пережить exec * делаем exec
> на самого себя и запускаем tcp_server с открытым сокетом.
>
> по идее клиенты должны "заметить" разве что некоторый простой на периоде
> установления соединения.

Посмотрите на реализацию AnyEvent::HTTP::Server 
(https://github.com/Mons/AnyEvent-HTTP-Server)

там у меня как-раз и реализован запуск с готовым сокетом

а вот тут:
https://github.com/Mons/Daemond/blob/master/lib/test-shared.pl
реализован пример AE tcp сервера с префорком

т.е. запускаем нужное кол-во процессов (по кол-ву ядер)
при достижении определенного размера по vsize (see Proc::Vsize ;)) перестаем в 
чайлде делать accept, завершаем обработку текущих соединений и выходим. 
мастер процесс перезапускает чайлда.

И еще было-бы интересно все-таки взглнуть на вашу реализацию.

-- 
Vladimir Perepelitsa aka Mons Anderson
<inthrax на gmail.com> / #99779956


Подробная информация о списке рассылки Moscow-pm