Форум сайта python.su
0
подскажите как с помощью SQLAlchemy проверить существует ли подключение к БД. Ситуация такая: БД може т использоваться несколькими пользователями и нужно или отказывать всем “опоздавшим” или блокировать записи которые редактируются уже одним пользователе. Плизз, если кто-то сталкивался этим, то опишите как решили
Офлайн
14
в самой SQLAlchemy для этого нет никакой особой магии. Монопольный режим работы с базой - зло большое, даже если где и поддерживается.
Все решается через транзакции. Но транзакция обеспечит тебе либо ее полное применение, либо откат транзакции целиком на момент commit. Т.е. можно написать исправление а потом заметить, что исправление нельзя применить.
Для отказа/блокировки прийдется менять схему базы. Вводишь поле “блокировано”, указывающее на таблицу блокировок (кем, когда). Периодически не забываешь блокировки чистить (отстреливать по таймауту).
Офлайн
0
Громаднейшее спасибо, логика проста, но мне нужно было услышать её от человека который с этим уже сталкивался. Ещё раз спасибо
Офлайн
14
на здоровье
Отредактировано (Сен. 11, 2007 13:48:19)
Офлайн