Блокировка записи в файл yaml? - PullRequest
0 голосов
/ 30 марта 2011

В этом посте объясняется, как установить блокировку записи файла на обычные файлы.

Но возможно ли установить блокировку для файла yaml, чтобы можно было писать только один сценарий за разк этому?

Я использую YAML::Syck, если это имеет значение.

Ответы [ 2 ]

1 голос
/ 30 марта 2011

Как уже говорили другие, используйте flock .Также см. perlfaq5 в разделе «Как заблокировать файл».

Важно отметить, что в любом случае это рекомендательная блокировка, поэтому нет необходимости фактически блокировать файл .yaml.Вы можете просто заблокировать файл блокировки (возможно, yourfile.yaml.lock) и разблокировать его, когда закончите.

Это также дает вам возможность сказать «этот блок операций требует монопольного доступа», а не просто ограничить вашу исключительность одним файлом.

1 голос
/ 30 марта 2011

Вы можете заблокировать файл, используя flock.Сначала вам нужно открыть файл, так как flock работает с файловыми дескрипторами.
В качестве альтернативы вы можете использовать LockFile::Simple из CPAN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...