jQuery: пессимистическая блокировка записи, когда браузер/компьютер переходит в спящий режим?

Я пытаюсь отладить проблему с некоторым кодом 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


person jjwdesign    schedule 22.04.2013    source источник
comment
Интересный вопрос. Когда ваш компьютер спит, он не будет выполняться, и на стороне клиента не будет тайм-аута, поэтому вам придется управлять им на сервере. Я заблокировал свою машину с Win 7, и хром продолжал выполнять setInterval, пока он был заблокирован. Я не уверен, что будут делать другие ОС или как долго они будут продолжать выполняться.   -  person lucuma    schedule 22.04.2013
comment
Если это интересный вопрос, то проголосуйте за него, пожалуйста. Я решил добавить еще несколько проверок на стороне сервера. В наши дни вы просто не можете полагаться на проверку на стороне клиента.   -  person jjwdesign    schedule 23.04.2013