Уважаемые господа!
На веб-сервере работает скрипт, который пишет данные в лог. Подскажите, как в этом скрипте заблокировать лог так, чтобы другие копии скрипта не имели возможности записи в него, а ждали, пока данный скрипт не закончит работу с ним?
На веб-сервере работает скрипт, который пишет данные в лог. Подскажите, как в этом скрипте заблокировать лог так, чтобы другие копии скрипта не имели возможности записи в него, а ждали, пока данный скрипт не закончит работу с ним?Создать lock-file. Технически представляет собой пустой файл с именем, скажем, .log_file.lock. При запуске скрипта проверять наличие этого файла. Можно заглянуть в исходники portage (система управления пакетами Gentoo Linux), он как раз на питоне написан. Ну или в исходники любой другой системы управления пакетами.
.Serj.Хотелось бы что либо более высокоуровневое, понятное для человека, неписавшего скрипт, вроде функции flock в php. Хотя за неимением лучшего и этот способ прокатит, спасибо
Создать lock-file. Технически представляет собой пустой файл с именем, скажем, .log_file.lock. При запуске скрипта проверять наличие этого файла.
.Serj.Дополнительный вопрос. Как при такой схеме реализовать ожидание разблокировки файла другими копиями скрипта?
Создать lock-file. Технически представляет собой пустой файл с именем, скажем, .log_file.lock. При запуске скрипта проверять наличие этого файла.
PaherЭто подойдет? http://dinsdale.python.org/doc/2.5/lib/module-fcntl.html
Уважаемые господа!
На веб-сервере работает скрипт, который пишет данные в лог. Подскажите, как в этом скрипте заблокировать лог так, чтобы другие копии скрипта не имели возможности записи в него, а ждали, пока данный скрипт не закончит работу с ним?
PaherВ гугле вы тоже новичек :) ?
подошло бы, но я не нашел модулей win32con, win32file, pywintypes. Я новичок в python, возможно, что-то не так делаю.