Я добавляю код в таблицу Google и использовал LockService.getDocumentLock()
для блокировки.
Моя проблема в том, что это не работает. Я могу без проблем выполнить один и тот же сценарий несколько раз. Вот структура моего кода:
const lock = LockService.getDocumentLock()
global.clickedButton = function() {
if (lock.tryLock(3000)) {
Browser.msgBox(`Has Lock? ${lock.hasLock()}`)
// stuff that takes ~3 minutes
}
lock.releaseLock()
}
Если я продолжаю нажимать кнопку, каждый раз запускается новый скрипт. Каждый раз, когда hasLock
возвращает истину.
Я делаю что-то глупое, или Блокировки просто не работают?
Я пробовал:
- Установка блокировки создание внутри функции
- Использование scriptLock и userLock вместо DocumentLock
- с использованием
lock.waitLock()
вместо tryLock
. Та же проблема
Вот скриншот. Я нажал кнопку 3 раза:
введите описание изображения здесь