gpt4 book ai didi

google-apps-script - 防止 Google App 脚本并行执行

转载 作者:行者123 更新时间:2023-12-05 01:18:06 25 4
gpt4 key购买 nike

我有一个通过点击工作表上的 float 图像来执行的 Google App 脚本。

如何防止人们在第一次执行完成之前再次运行脚本?

貌似可以通过点击图片多次执行脚本,后面的执行和前面的执行有冲突,导致错误的结果。

我打算在脚本运行时暂时取消脚本与 float 图像的关联,然后在退出脚本之前将其恢复,但我似乎找不到操纵 float 图像属性的方法。

最佳答案

对于客户端处理,您可以为变量赋值以标识函数的状态。

index.html

<!DOCTYPE html>
<html>
<body>
<img src="http://cdn.soulsplay.com/assets//listing/css/comments/submit-button-2.png" onclick="invokeSubmit();">
</body>
<script>

var image_clicked = 0;

function invokeSubmit(){
image_clicked ++;
if(image_clicked == 1){
alert("Processing");
google.script.run.withSuccessHandler(function(){
image_clicked = 0;
alert("done");
}).sleep_func();
}
}
</script>
</html>

code.gs

function doGet() {
var output = HtmlService.createTemplateFromFile('index').evaluate();
output.setSandboxMode(HtmlService.SandboxMode.IFRAME);
output.setTitle('App Script');
return output;
}

function sleep_func(){
Utilities.sleep(15000);
return;
}

您还可以使用 Lock Service 来阻止脚本并发访问.

function test_func(){
var lock = LockService.getScriptLock();
lock.waitLock(15000);

//Some operations

lock.releaseLock();
}

关于google-apps-script - 防止 Google App 脚本并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46938420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com