首页 > 解决方案 > 不同用户的脚本锁定谷歌应用程序制造商

问题描述

我正在努力解决同时由 2 个或更多用户运行脚本的问题。脚本将数据添加到电子表格并在谷歌驱动器中创建文件夹。我试过使用 Lockservice,但它没有用。而且我已经制作了自己的“锁定”,它改变了工作表中的值,当这个忙碌状态为真时,脚本不会运行,但它变化太慢。

function thisRunsClient(){
    var lock = LockService.getScriptLock();
    if(lock.hasLock()){return 'END')};
    else{
    lock.tryLock(10000)};
   //rest of code
}

标签: google-apps-script

解决方案


我使用的是

var lock = LockService.getScriptLock();
    try {
        lock.waitLock(30000); // wait 30 seconds for others' use of the code section and lock to stop and then proceed
    } catch (e) {
        Logger.log('Could not obtain copy lock after 20 seconds.');
        return;
    }
//REST OF CODE

我不确定您要对那里的 haslock 做什么,在我看来,如果您获得锁,您会立即结束该功能,这似乎不是您想要做的。


推荐阅读