Class LockService

LockService

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

Métodos

MétodoTipo de retornoBreve descrição
getDocumentLock()Lock|nullRecebe 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 de código.
getUserLock()LockRecebe um bloqueio que impede que o usuário atual execute simultaneamente uma seção de código.

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 documento pode ser executada simultaneamente por instâncias de script em execução no contexto de documentos diferentes, mas não mais de uma execução para um determinado documento. O bloqueio não é adquirido até que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) seja chamado. Se esse método for chamado fora do contexto de um documento contido (como um script independente ou um app da Web), null será retornado.

Retornar

Lock|null — um bloqueio com escopo para o script e o documento atual ou null se chamado de um script independente ou app da Web.


getScriptLock()

Recebe um bloqueio que impede que qualquer usuário execute simultaneamente uma seção de 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 é adquirido até que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) seja chamado.

Retornar

Lock: um bloqueio com escopo para o script.


getUserLock()

Recebe um bloqueio que impede que o usuário atual execute simultaneamente uma seção de código. Uma seção de código protegida por um bloqueio de usuário pode ser executada simultaneamente por usuários diferentes, mas não mais de uma execução para um determinado usuário. O bloqueio é "privado" para o usuário. O bloqueio não é 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.