Class LockService

LockService

コードのセクションへの同時アクセスを防ぎます。これは、複数のユーザーまたはプロセスが共有リソースを変更し、競合を回避する場合に便利です。

メソッド

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

詳細なドキュメント

getDocumentLock()

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

戻る

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


getScriptLock()

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

戻る

Lock - スクリプトにスコープ設定されたロック


getUserLock()

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

戻る

Lock - スクリプトと現在のユーザーにスコープ設定されたロック