Class LockService

LockService

코드 섹션에 대한 동시 액세스를 차단합니다. 이는 여러 사용자 또는 프로세스가 공유 리소스를 수정하는 상황에서 충돌을 방지하려는 경우에 유용할 수 있습니다.

방법

메서드반환 유형간략한 설명
getDocumentLock()Lock현재 문서의 모든 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다.
getScriptLock()Lock모든 사용자가 동시에 코드 섹션을 실행하지 못하도록 하는 잠금을 가져옵니다.
getUserLock()Lock현재 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다.

자세한 문서

getDocumentLock()

현재 문서의 모든 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다. 문서 잠금으로 보호되는 코드 섹션은 다른 문서의 컨텍스트에서 실행되는 스크립트 인스턴스에 의해 동시에 실행될 수 있지만, 주어진 문서에 대해 한 번만 실행될 수 있습니다. 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: 스크립트 및 현재 사용자로 범위가 지정된 잠금