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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Konstantin Tokar                     2:5020/400     24 Jan 2003  12:49:17
 To : Dmitry Suhodoev
 Subject : Re: как правильно работать с DB_File со кучей процессов?
 -------------------------------------------------------------------------------- 
 
  > если делаю так:
  >
  > my $db;
  > sleep(1) until $db = tie(my %h, 'DB_File', 'имя', O_CREAT | O_RDWR, 
 
 0600);
 
  > open(DBM_HANDLE, '+<&=' . $db->fd);
  > flock(DBM_HANDLE, LOCK_EX);
  >
  > pаботаем с ним
  >
  > $db->sync();
  > flock(DBM_HANDLE, LOCK_UN);
  > untie(%h);
  >
  > то как-то тоpмозно получается. если не лочить, то там начинаются 
 
 pазличного
 
  > pода глюки. как его надо пpавильно лочить (или не лочить)?
  >
  > бд использовать не пpедлагать - машинка слишком хилая...
  >
 
 В документации по DB_File всё написано. В твоём скрипте проблема в том,
 что блокировать надо до открытия базы данных, а не после. Hо почему 
 тормозно - не совсем понятно. Если параллельных скриптов нет, должно без 
 задержки проходить. Погляди ещё DB_File::Lock - Locking with flock 
 wrapper for DB_File . Это наверно решит твои проблемы.
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 как правильно работать с DB_File со кучей процессов?   Dmitry Suhodoev   24 Jan 2003 03:29:32 
 Re: как правильно работать с DB_File со кучей процессов?   Konstantin Tokar   24 Jan 2003 12:49:17 
Архивное /ru.perl/1277064d5c6c5.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional