Class LockService

LockService (em inglês)

Impede o acesso simultâneo a seções de código. Isso pode ser útil quando você tem vários usuários ou processos que modificam um recurso compartilhado e quer evitar colisões.

Métodos

MétodoTipo de retornoBreve descrição
getDocumentLock()LockRecebe um bloqueio que impede que qualquer usuário do documento atual execute simultaneamente uma seção de código.
getScriptLock()LockRecebe um bloqueio que impede que qualquer usuário execute simultaneamente uma seção do código.
getUserLock()LockRecebe um bloqueio que impede que o usuário atual execute uma seção de código simultaneamente.

Documentação detalhada

getDocumentLock()

Recebe um bloqueio que impede que qualquer usuário do documento atual execute simultaneamente uma seção de código. Uma seção de código protegida por um bloqueio de documentos pode ser executada simultaneamente por instâncias de script executadas no contexto de diferentes documentos, mas não por mais de uma execução para qualquer documento. O bloqueio não é realmente adquirido até Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) ser chamado. Se esse método for chamado fora do contexto de um documento que contém o conteúdo (como de um script independente ou webapp), null será retornado.

Retornar

Lock: um bloqueio com escopo para o script e o documento atual, ou null se chamado de um script independente ou de um webapp.


getScriptLock()

Recebe um bloqueio que impede que qualquer usuário execute simultaneamente uma seção do código. Uma seção de código protegida por um bloqueio de script não pode ser executada simultaneamente, independentemente da identidade do usuário. O bloqueio não é realmente adquirido até Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) ser chamado.

Retornar

Lock: um bloqueio com escopo para o script.


getUserLock()

Recebe um bloqueio que impede que o usuário atual execute uma seção de código simultaneamente. Uma seção de código protegida por um bloqueio de usuário pode ser executada simultaneamente por diferentes usuários, mas não por mais de uma execução para qualquer usuário. O bloqueio é "private" para o usuário. O bloqueio não é realmente adquirido até que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) seja chamado.

Retornar

Lock: um bloqueio com escopo para o script e o usuário atual