悲観的ロックを処理する PHP/MySQL/jQuery コードの問題をデバッグしようとしています。これは、locking_user_id と locked_date_time の 2 つのフィールドを使用します。ロックは、PHP/MySQL に対する AJAX アクションによって決定されます。以下の jQuery コードは、15 秒ごとに発生するロックの典型的な更新を示しています。10 分ごとに保存アクションもあります。
私の質問は、誰かのコンピューターが「スリープ モード」になるか、数時間「ロック」された場合、jQuery/Locking Update はどうなりますか? 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();
});