Форум сайта python.su
Edfcntl только для Линукса.
Интересное совпадение - мне тоже и тоже на NFS. У меня, как не странно, заработал fcntl.lockf, но я все равно опасаюсь.
Офлайн
Как много букв вы написали.
Я просто хотел узнать может у вас кроме мультиплатформенного рецепта создания локов есть еще и аналогичный рецепт дальнейшей работы с ними. Вижу, что нет.
fcntl не только для Линукса, он для Юникса. Мне для винды не надо было. Собственно я упирал на то, что он у меня заработал на NFS. Дело в том, что fcntl не на всех NFS серверах и клиентах работает.
Офлайн
EdА у вас есть?
Как много букв вы написали.
Я просто хотел узнать может у вас кроме мультиплатформенного рецепта создания локов есть еще и аналогичный рецепт дальнейшей работы с ними. Вижу, что нет.
fcntl не только для Линукса, он для Юникса. Мне для винды не надо было. Собственно я упирал на то, что он у меня заработал на NFS. Дело в том, что fcntl не на всех NFS серверах и клиентах работает.Для fcntl на NFS нужен запущенный демон klockd, IIRC.
Офлайн
bialix, спасибо
Офлайн
bialixБыл бы - я бы у вас не спрашивал. И не юзал бы fcntl на NFS. Юзаю только потому, что в отличие от предложенного вами варианта лок автоматически снимается при упадании процесса, его поставившего. В случае процессов запущеных на разных машинах это существенно лучше манипуляций с каталогами, которые остаются, пока о них специально не позаботятся.
[А у вас есть?
Для fcntl на NFS нужен запущенный демон klockd, IIRC.Это теоретически. А практически fcntl локи не на всех реализациях NFS работают.
Офлайн
Сделал как bialix посоветовал. Работает без малейших проблем.
Именно в случае процессов, запущенных на разных машинах. С их падениями, автоматическим отбором лока и проч.
Отредактировано (Янв. 17, 2010 05:44:12)
Офлайн