The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"перегрузка функций, DBI модуль, Oracle, timeout"
Отправлено NuINu, 21-Сен-07 14:07 
>[оверквотинг удален]
>>>нет опции настройки таймаута при работе с базой.
>>>
>>>Так же есть решение, описанное тут http://search.cpan.org/~lbaxter/Sys-SigAction/dbd-oracle-tim..., которое позволяет решить проблему. Но
>>
>>всего таких фукций надо написать по числу защищаемых методов. но зато исходный
>>код пострадает не сильно. хотя не знаю может быть можно как
>>нибудь еще и имя метода передать, чтобы не писать кучу функций,
>>надо подумать.
>
>в принципе я сделал и для объектов, так же рабоатет правда вот

вот сделал с использованием символических ссылок, они выглядят более красиво:

вызов:    
my $ret = safetimeout($a, 'getdata', \['param2'], \&timeout_test1, \["timeout param1"], 3);

использование: в safetimeout
sub safetimeout {
    my ($obj, $action_symref, $param_ref, $timeoutaction_ref, $timeout_param_ref, $timeout) = @_;
    my $result_ref;
    undef($@);
    eval {
      local $SIG{ALRM} = sub { &$timeoutaction_ref(@$$timeout_param_ref); };
      print "set timeout: $timeout sec .\n";
      alarm($timeout); #implement N second time out
      $result_ref = $obj->$action_symref( @$$param_ref);
....

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру