Найти - Пользователи
Полная версия: Поиск и запись данных в файл в многопользовательском режиме
Начало » Python для новичков » Поиск и запись данных в файл в многопользовательском режиме
1
Dobrodel
Друзья, подскажите новичку
Есть такая задача - файл в текстовой форме лежит на сервере, необходимо организовать многопользовательский доступ к нему для поиска и добавления в него данных. Подскажите пожалуйста что лучше всего использовать и примерную схему организации работы с данными файла, по возможности с реальным кодом. Необходимо учесть, что в один и тот же момент к нему может обратиться несколько пользователей одновременно и попытаться изменить его…
doza_and
Dobrodel
может обратиться несколько пользователей одновременно и попытаться изменить его
1. Классическая задача для баз данных… Почему они не подходят?
2. Если надо именно файл то нужны механизмы синхронизации. Например создать другой временный файл который будет означать залочивание изменяемого файла на запись. Реализация может содержать много подводных камней (например поведение при аппаратной перезагрузке сервера с файлом и его локом.) поэтому самостоятельно писать такие вещи новичку нежелательно.
3. Такого рода синхронизацию файлов осуществляют настроенные соответствующим образом системы контроля версий. (svn,git и т.п.)

пример вчерне (не пробовал могу где-то провраться смотрите документацию):
в директории нуждающейся в совместной модификации some_dir
git init
cd ..
git clone –bare some_dir /on/server/some_dir.git

далее в других местах
git clone /on/server/some_dir.git

далее синхронизация делается командами
git commit -a -m“asdas”
git pull origin master
git push origin master

ну и естественно разрешаете конфликты когда они возникнут

К питону это естественно не имеет ни малейшего отношения.
Dobrodel
Благодарю за ответ.
Про базы данных понял, только тут такой вопрос - сервера как такового нет, есть много клиентов, которые обращаются к одному файлу где-то в сети (выше я условно назвал его сервером).
Подскажите как организовать, пусть и при помощи БД, подобную схему работы?
doza_and
Dobrodel
для поиска и добавления в него данных
Если для поиска - открываете для чтения и читаете.
Если только добавление (без модификации старых данных) смотрите документацию по модулю logging.
Dobrodel
Благодарю
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB