Форум сайта python.su
568
IskatelЕсли уж велосипедить, то правильно. Создавать файл блокировки надо в каталоге /tmp, а лучше воспользоваться модулем
перед тем как полезть в базу, проверь нет ли на диске файла с именем “не лезь в базу”.
Офлайн
3
Вопрос больше в том что, у ТС не sqlite. И ТС даже не спрашивал на что ему поменять shelve.
Это “добрые люди” понеслись с советами…
А за lockfile, спасибо, не знал (я сам новичек
)
Офлайн
88
IskatelВы какую-то ерунду говорите. https://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_(%D0%A1%D0%A3%D0%91%D0%94)
Ну а по сути вопроса - одновременно НЕТ (ни одна БД не даст одновременно, ибо это бред), а по очереди да… Перед открытием базы из программы создавай файл на диске (любой, лишь бы был), так линуксы поступают… закончил - удаляй. Из другой проги тоже самое. Соответственно обе проги ждут пока файла не станет…
Офлайн
3
ShamanВозможно. Но это больше зависит от того, что понимать под словом “одновременно”, и смысл слова “блокировка” В частности я подразумевал работу с одними и теме же данными.
Вы какую-то ерунду говорите.
Офлайн
0
Предположительно за минуту может быть до 1000 обращений к БД, раз в 5 секунд к этой же БД идёт обращение другой программы, вероятность “наткнуться друг на друга” очень большая. Вариант с созданием\удалением файла от Iskatel мне понятен, а вот с ещё неизученным мной sql - не очень. Возможно для выбора способа стоит учесть отличия в скорости изменения БД через модуль shelve и sql, и есть ли вообще эта разница в скорости? Важна каждая 0.01с
P.S. Спасибо за ваши ответы, не ожидал увидеть столько помощи
Офлайн
39
Iskatel
Возможно. Но это больше зависит от того, что понимать под словом “одновременно”, и смысл слова “блокировка” В частности я подразумевал работу с одними и теме же данными.
Офлайн
3
4kpt_III Да не в этом дело, насколько я понял разногласия возникли по поводу возможности одновременной работы 
Офлайн
39
AngelFrei
А SQL учить не надо, хоть и желательно. В ORM свой синтаксис на уровне объектов. Возьмите sqlalchemy и прочитайте первые 15 страниц. Все сразу поймете.
Офлайн
39
Iskatel
4kpt_III Да не в этом дело, насколько я понял разногласия возникли по поводу возможности одновременной работы
Офлайн
88
IskatelУ Вас получается, даже прочитать разные таблицы невозможно.
4kpt_III Да не в этом дело, насколько я понял разногласия возникли по поводу возможности одновременной работы
Офлайн