google-apps-script - 不同用户的脚本锁定谷歌应用程序制造商
问题描述
我正在努力解决同时由 2 个或更多用户运行脚本的问题。脚本将数据添加到电子表格并在谷歌驱动器中创建文件夹。我试过使用 Lockservice,但它没有用。而且我已经制作了自己的“锁定”,它改变了工作表中的值,当这个忙碌状态为真时,脚本不会运行,但它变化太慢。
function thisRunsClient(){
var lock = LockService.getScriptLock();
if(lock.hasLock()){return 'END')};
else{
lock.tryLock(10000)};
//rest of code
}
解决方案
我使用的是
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 做什么,在我看来,如果您获得锁,您会立即结束该功能,这似乎不是您想要做的。
推荐阅读
- python - load_img , keras.preprocessing.image ,TypeError: an integer is required (get type str)
- vue.js - PhpStorm 无法正确理解自定义标签
- java - junit中的不同编码
- esp8266 - ESP8266 WeMos D1 使用 deepsleep 消耗太多电池
- javascript - 如何在计时器中添加保存按钮
- r - 当我下载了正确的 chromedriver 并保存到路径时,为什么我仍然有 Selenium chromedriver 不匹配问题
- asp.net-mvc - 我在 Employee 控制器上从 lstpresentEmp 和 lstAbsentEmp 数据库访问值时遇到问题
- python - 为什么我的 Python 应用程序与 Heroku 的 Python buildpack 不兼容
- c# - 中止 MassTransit StartAsync
- swift - 如何在 Alamofire 5 中获取原始请求?