Class LockService

LockService

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

メソッド

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

詳細なドキュメント

getDocumentLock()

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

戻る

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


getScriptLock()

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

戻る

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


getUserLock()

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

戻る

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