Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Ildar Gabdulline                     2:5020/400     15 Sep 2002  23:44:41
 To : All
 Subject : persistent DBI connections
 -------------------------------------------------------------------------------- 
 
 Привет,
 
 Как можно реализовать следующую вещь ?
 1. perl script, постоянно висящий в памяти создает N DBI соединений к ORACLE
 и держит их в pool
 2. другие perl - скрипты (специфика применения такова, что их число - сотни
 и тысячи, причем рождаются они часто) запрашивает соединение с БД у первого
 скрипта (механизмы могут быть разные - файл, shm)
 при необходимости работать с БД
 3. соединение (т.е. все данные необохимые для его использования ) передается
 скрипту, который их и использует
 4. в конце работы соединение возвращается обратно в pool
 
 Близкое решение (но не совсем то, т.к. соединение никуда не передается, а с
 БД работает proxy server, а не сам скрипт из п.2)  проглядывает в
 DBI::ProxyServer. Однако не совсем подходит.
 
 Кстати, вопрос по теме касательно DBI::ProxyServer - что надо сделать, чтобы
 dbiproxy кешировал соединения ?
 (использование в скрипте connect_cached не помогает, connection все равно
 закрывается при disconnect или завершении скрипта).
 
 Буду благодарен за профессиональный ответ.
 
 Ildar.
 PS.
 Все это надо по следующей причине:
 1. есть система, занимающаяся обработкой телефонных звонков (могут быть
 сотни и тысячи параллельно). при приходе каждого звонка специальное
 приложение запускает perl-скрипт, который и 'рулит' данным звонком. Доступ к
 БД сейчас осуществляется следующим образом:
 perl-script---proprietary interface---->data server-----OCI---->Oracle
 
 data server имеет постоянное соединение к ORACLE, фактически ничего не
 делает, кроме трансляции запросов от скриптов к Oracle и выдачи ответов
 обратно. Так сделано, т.к. просто не получается каждый раз создавать и
 убивать соединение к oracle для каждого звонка - слишком жирно.
 Во-первых - довольно медленно, во-вторых - добавление каждой новой feature
 требует изменения сервера.
 
 Хочется спрямить путь, сделав следующий вариант:
 perl-script---DBI---->Oracle
 но при этом чтобы соединения создавались один раз (например 2000 шт.) и
 больше не убивались,реюзились последующими скриптами.
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 persistent DBI connections   Ildar Gabdulline   15 Sep 2002 23:44:41 
 Re: persistent DBI connections   Andrey Sapozhnikov   16 Sep 2002 18:39:56 
 Re: persistent DBI connections   Ildar Gabdulline   18 Sep 2002 23:59:48 
 Re: persistent DBI connections   Andrey Sapozhnikov   19 Sep 2002 01:49:36 
Архивное /ru.perl/65773d3666cf.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional