Browser.msgBox を使うとロックが解除されてしまうことを教えていただき、
解決できましたのでクローズします。
【メモ】
waitLockやtryLockの指定したミリ秒は、
後から処理を実行した人がロック取得を試みる制限時間。
0Like
GoogleAppsSprictの同時実行を防ぎたい。
GoogleAppsSprictでgetScriptLockを使用したいのですが、
うまくロックがかからずご教授いただきたいです。
【前提】
・スプレッドシートを複数人で使用
・セル上にボタンを設置しスプリクトを設定
【問題】
・同じPC、2つの違うアカウントで実行しても同時実行されてしまいます
(エラーにいかない)
function reserved_entry() {
//ロックを取得する
var lock = LockService.getScriptLock();
try {
//30秒間のロックを実施する
lock.waitLock(30000);
Browser.msgBox("実行中");
Browser.msgBox("処理が終了しました。");
} catch (e) {
Browser.msgBox("誰か使ってます");
} finally {
//ロックを開放する
lock.releaseLock();
}
}
getDocumentLockでもロックがかかりませんでした
Browser.msgBox を使うとロックが解除されてしまうことを教えていただき、
解決できましたのでクローズします。
【メモ】
waitLockやtryLockの指定したミリ秒は、
後から処理を実行した人がロック取得を試みる制限時間。