Class LockService

LockService

コードのセクションに同時にアクセスできないようにします。これは、共有リソースを変更する複数のユーザーまたはプロセスがあり、競合を防止したい場合に便利です。

Methods

メソッド戻り値の型概要
getDocumentLock()Lock現在のドキュメントのどのユーザーもコードのセクションを同時に実行できないようにするロックを取得します。
getScriptLock()Lock任意のユーザーがコードのセクションを同時に実行できないようにするロックを取得します。
getUserLock()Lock現在のユーザーがコードのセクションを同時に実行できないようにするロックを取得します。

詳細なドキュメント

getDocumentLock()

現在のドキュメントのどのユーザーもコードのセクションを同時に実行できないようにするロックを取得します。ドキュメント ロックで保護されたコード セクションは、異なるドキュメントのコンテキストで実行されているスクリプト インスタンスによって同時に実行できますが、特定のドキュメントに対して複数の実行を行うことはできません。Lock.tryLock(timeoutInMillis) または Lock.waitLock(timeoutInMillis) が呼び出されるまで、ロックは実際に取得されません。このメソッドがドキュメントを含むコンテキストの外で(スタンドアロン スクリプトやウェブアプリなどから)呼び出された場合は、null が返されます。

リターン

Lock - スクリプトと現在のドキュメントをスコープとするロック。スタンドアロン スクリプトまたはウェブアプリから呼び出された場合は null


getScriptLock()

任意のユーザーがコードのセクションを同時に実行できないようにするロックを取得します。スクリプト ロックで保護されたコード セクションは、ユーザーの身元に関係なく同時に実行できません。Lock.tryLock(timeoutInMillis) または Lock.waitLock(timeoutInMillis) が呼び出されるまで、ロックは実際に取得されません。

リターン

Lock - スクリプトをスコープとするロック


getUserLock()

現在のユーザーがコードのセクションを同時に実行できないようにするロックを取得します。ユーザーロックで保護されているコード セクションは、複数のユーザーが同時に実行できますが、1 人のユーザーが複数回実行することはできません。ロックはユーザーに対して「非公開」となります。Lock.tryLock(timeoutInMillis) または Lock.waitLock(timeoutInMillis) が呼び出されるまで、ロックは実際に取得されません。

リターン

Lock - スクリプトと現在のユーザーをスコープとするロック