Google Apps Script API
    Preparing search index...

    A representation of a mutual-exclusion lock.

    This class allows scripts to make sure that only one instance of the script is executing a given section of code at a time. This is particularly useful for callbacks and triggers, where a user action may cause changes to a shared resource and you want to ensure that aren't collisions.

    The following examples shows how to use a lock in a form submit handler.

    // Generates a unique ticket number for every form submission.
    function onFormSubmit(e) {
      var targetCell = e.range.offset(0, e.range.getNumColumns(), 1, 1);
    
      // Get a script lock, because we're about to modify a shared resource.
      var lock = LockService.getScriptLock();
      // Wait for up to 30 seconds for other processes to finish.
      lock.waitLock(30000);
    
      var ticketNumber = Number(ScriptProperties.getProperty('lastTicketNumber')) + 1;
      ScriptProperties.setProperty('lastTicketNumber', ticketNumber);
    
      // Release the lock so that other processes can continue.
      lock.releaseLock();
    
      targetCell.setValue(ticketNumber);
    }
    

    lastTicketNumber ScriptProperties

    interface Lock {
        hasLock(): boolean;
        releaseLock(): void;
        tryLock(timeoutInMillis: number): boolean;
        waitLock(timeoutInMillis: number): void;
    }
    Index

    Methods