Я пытаюсь отладить проблему с некоторым кодом PHP/MySQL/jQuery, который обрабатывает пессимистическую блокировку. Он использует два поля: locking_user_id и locking_date_time. Блокировка определяется действием AJAX для PHP/MySQL. В приведенном ниже коде jQuery показано типичное обновление блокировки, которое происходит каждые 15 секунд. Также есть действие сохранения каждые 10 минут.
Мой вопрос: что происходит с обновлением jQuery/Locking, когда чей-то компьютер переходит в «спящий режим» или «заблокирован» на несколько часов? Будет ли продолжаться вызов AJAX? Я предполагаю, что setTimeout() больше не работает? Один человек сознательно разрешает режим редактирования оставаться открытым в течение нескольких часов. Я совершенно уверен, что это вызывает проблему. Сегодня я добавляю дополнительные проверки PHP при обновлении.
Есть ли у кого-нибудь предложения сделать «тайм-аут» представления «Редактировать» на основе бездействия?
<script>
// Automatically Save Every 10 Minutes
setInterval(submit_crudForm, 600000); // (1000 * 60 * 10 = 600000)
function submit_crudForm() {
$('#crudForm').submit();
}
// Set Update Locking
function updateLockingCount () {
$.getJSON('https://wwww.thedomain.com/catalog/ajax_update_locking/1004', function(data) {
//console.log(data);
setTimeout(updateLockingCount, 15*1000);
});
}
$(function () {
updateLockingCount();
});
Related Post: PHP/MySQL/jQuery Pessimistic Locking of Record