• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Document Locking

  • Автор темы Автор темы Xalet
  • Дата начала Дата начала
X

Xalet

Есть БД с документами. В документах хранится нумерация. В базе разрешено блокирование документов(Document locking). Пользователи через агент обращаются к базе, проверяется не заблокирован ли нужный документ, если нет, то блокируется, считывается номер, записывается новый, сохраняется закрывается, снимается блокировка.

Проблема в том, что если происходит сбой, когда документ заблокирован, он остается заблокированым постоянно.

Какие варианты решения? Спасибо.

P.S. возможно поможет Provisional lock, но я как не искал, так и не нашел описания, каким образом он работает.
 
xalet
я просто разлочивал агентом документы , лок которых больше Х часов
 
где то тут берём коолекцию документов...
doc -notesdocument который предположительно залочен

Код:
			LName = doc.GetItemValue( "LockHolders" )
LDate = doc.doc.GetItemValue( "~$WritersDate" )
If ( Len(LDate(0))+ Len(LoName(0)) )>0 Then ' Document Locked
If Len(LDate(0))>0 Then
delim = Now-LDate(0)
If delim > 0.5 Then Call doc.UnLock
Else
Call doc.UnLock
End If
End If


больше не дам, коммерческие права и всё такое
 
Если кто-то знает другие способы, то не стесняйтесь - отписывайтесь

способ №2 - сделать свою блокировку :unsure:

В целом и обычно стандартная блокировка почти подходит всем ... но есть траблы (не буду здесь перечислять известные мне - одна из основных не доступность мастер сервера ) которые на пустом месте пораждает эта блокировка ... и частенько люди вообще ее отключают, так как soft locking и так присутствует, а репликационных конфликов с помощью этой локировки - не избежать по любому
 
База только на сервере и ни с чем не реплецируется. Доступна только из кода.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы