[Moscow.pm] Синхронно-асинхронная инициализация одинаковых процессов
Kaltashkin Eugene
zhecka на gmail.com
Пн Мар 22 02:49:48 PDT 2010
22.03.2010 12:46, Sergey Aleynikov пишет:
> Hello,
>
> 22 марта 2010 г. 15:32 пользователь Kaltashkin Eugene
> <zhecka на gmail.com> написал:
>
>> Вариант с lock файлом, который выставляется при запуске "первого" процесса хорош, но
>> иногда не срабатывает и два процесса всё равно загружают данные в хранилище
>> перетирая друг друга.
>>
> А вы как именно делаете это? Используете какой-то модуль, или
> самописный лок? Если самописный - то возможны ошибки в реализации.
>
хм. всё как бы просто.
$lockfile = "/var/tmp/pradm_memcached_config_load.lock";
if(!-f $lockfile)
{
print STDERR "$$ Creating lock file\n";
open OUT,">$lockfile" or die "Cannot write to $lockfile $!";
print OUT $$;
close OUT;
$lock = 1;
}
else
{
undef $lock;
print STDERR "$$ Lock file already exist\n";
}
Подробная информация о списке рассылки Moscow-pm