bea*_*ano 7 google-apps-script
我有一个公共插件,该插件利用Google Apps脚本锁定服务来防止在进行写入之前先读取电子表格。
var lock = LockService.getDocumentLock();
var success = lock.tryLock(240000); // 4 minutes
if (!success) {
console.warn('Could not obtain lock after 4 minutes.');
return;
}
//perform some function then release lock
lock.releaseLock();
Run Code Online (Sandbox Code Playgroud)
我继续收到错误消息:
针对同一脚本的LockService操作过多。
最初,我认为此错误是“基于用户的”,并且每个用户的锁定服务操作数可能有一个配额,但是最近我开始发现过去几天中,针对30个以上的用户,此错误出现的频率更高。
每个用户或每个脚本的LockService操作数是否有限制?
如果是这样,限制是什么?
我没有在Google Apps脚本配额中看到对配额的任何引用
在LockService文档中也看不到对配额的任何引用
有一个关于这个的报告:https : //issuetracker.google.com/issues/112384851
看起来这可能会偶尔发生。一位谷歌员工回应如下:
只是为了对此进行更新:Apps 脚本团队建议:
1) 在 LockService 调用周围使用 try/catch 块,并假设错误意味着“未获取锁”(无论对于脚本尝试执行的逻辑意味着什么)。
2)如果“没有获得锁”意味着“脚本应该再试一次”,然后在重试 LockService 操作之前在那里休眠几秒钟(甚至可能是指数退避)。
我们目前没有任何其他解决方案,一旦对 Apps 脚本进行某些更改,可能会进行更新。
归档时间: |
|
查看次数: |
2234 次 |
最近记录: |