Class LockService

LockService

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

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 o usuário atual de executar 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 qualquer 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 web app), null será retornado.

Retornar

Lock|null: um bloqueio no escopo do script e do documento atual ou null se chamado de um script independente ou web app.


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, independente 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 no escopo do script


getUserLock()

Recebe um bloqueio que impede o usuário atual de executar 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 diferentes usuários, mas não mais de uma vez para qualquer usuário. O bloqueio é "particular" para o usuário. O bloqueio não é adquirido até que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) seja chamado.

Retornar

Lock: um bloqueio no escopo do script e do usuário atual.