Lock Service
Lock
This service allows scripts to prevent concurrent access to sections of
code. This can be useful when you have multiple users or processes modifying a
shared resource and want to prevent collisions.
Classes
Name | Brief description |
Lock | A representation of a mutual-exclusion lock. |
LockService | Prevents concurrent access to sections of code. |
Methods
Method | Return type | Brief description |
hasLock() | Boolean | Returns true if the lock was acquired. |
releaseLock() | void | Releases the lock, allowing other processes waiting on the lock to continue. |
tryLock(timeoutInMillis) | Boolean | Attempts to acquire the lock, timing out after the provided number of milliseconds. |
waitLock(timeoutInMillis) | void | Attempts to acquire the lock, timing out with an exception after the provided number of
milliseconds. |
Methods
Method | Return type | Brief description |
getDocumentLock() | Lock | Gets a lock that prevents any user of the current document from concurrently running a section
of code. |
getScriptLock() | Lock | Gets a lock that prevents any user from concurrently running a section of code. |
getUserLock() | Lock | Gets a lock that prevents the current user from concurrently running a section of code. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-12-02 UTC.
[null,null,["Last updated 2024-12-02 UTC."],[[["The Lock service in Apps Script helps prevent conflicts when multiple users or processes access shared resources."],["It provides different types of locks: Document Lock, Script Lock, and User Lock, each controlling access at various levels."],["Locks can be acquired, released, and checked for status using methods like `tryLock`, `releaseLock`, and `hasLock`."],["Timeouts can be set while acquiring locks to avoid indefinite waiting using methods like `tryLock` and `waitLock`."]]],[]]