Class LockService

Serviço Lock

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()LockRecebe uma trava que impede que qualquer usuário do documento atual execute uma seção de código simultaneamente.
getScriptLock()LockRecebe uma trava que impede que qualquer usuário execute uma seção de código simultaneamente.
getUserLock()LockRecebe uma trava que impede que o usuário atual execute uma seção de código simultaneamente.

Documentação detalhada

getDocumentLock()

Recebe uma trava que impede que qualquer usuário do documento atual execute uma seção de código simultaneamente. 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 por mais de uma execução para qualquer documento. A trava não é realmente adquirida até que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) seja chamado. Se esse método for chamado fora do contexto de um documento que o contém (como de um script independente ou de um app da Web), null será retornado.

Retornar

Lock: uma trava com escopo para o script e o documento atual ou null, se chamada de um script independente ou um app da Web.


getScriptLock()

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

Retornar

Lock: um bloqueio com escopo no script


getUserLock()

Recebe uma trava 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 usuários diferentes, mas não por mais de uma execução para um determinado usuário. A fechadura é "particular" para o usuário. A trava não é realmente adquirida 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