[Moscow.pm] Модули для поддержания соединения

Victor Efimov victor на vsespb.ru
Пн Сен 7 14:03:30 PDT 2015


Я думаю имелось ввиду несколько другое. Примеры это DBI и CPAN Redis.

1) Прежде чем послать данные в сокет сделать следующее:

  if ($self->{pid} != $$) {
    $self->connect;
  }

(код из Redis.pm)

2) В DESTROY, если он есть, делать деструкцию только если $self->{pid} == $$.
Надо сказать, это нужно только в DBI, т.к. он в DESTROY посылает
какие-то данные в сокет. В "обычных" клиентах не нужно. В Redis.pm
нету.

3) реконнект

8 сентября 2015 г., 5:36 пользователь Eugen Konkov <kes-kes на yandex.ru> написал:
> Здравствуйте, Ilya.
>
> IC> Есть ли готовые модули для поддержания постоянного соединения с
> IC> каким-либо сервером?
> Обычное TCP соединение с keep-alive пакетами
> http://habrahabr.ru/company/intersystems/blog/155565/
> http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html
>
>>не закрывалось при уничтожении форка
> Делаете управление соединениями в мастер процессе. Создали соединение или их pool и отдаёте fork'ам хендлы. Если будет один хендл, То нужно будер решить проблему, какому форку передавать пришедший ответ (Думаю будет проще если создавать хендл/fork)
>
> Вы писали 7 сентября 2015 г., 12:18:21:
>
> IC> Добрый день.
>
> IC> Есть ли готовые модули для поддержания постоянного соединения с
> IC> каким-либо сервером? Нужно для того, например, чтобы инициализировать
> IC> соединение при старте веб-приложения и повторно использовать в форках,
> IC> при этом чтобы оно не закрывалось при уничтожении форка, ну и заново
> IC> соединялось при необходимости.
>
> IC> В-общем, нужно что-то вроде той части DBI, которая отвечает за
> IC> TCP-соединение, но без всего того, что связано непосредственно с
> IC> базами данных.
>
> IC> Да, и еще интересно, есть ли что-то подобное отдельно для AnyEvent::Handle.
>
> IC> --
> IC> Best regards,
> IC> Ilya Chesnokov
>
>
>
> --
> С уважением,
>  Eugen                          mailto:kes-kes на yandex.ru
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


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