如果脚本已经在工作表中运行,请尝试使用Catch,同时防止第二个实例吗?

Dyl*_*elj 2 google-apps-script

我有一个脚本,可以执行一些基本的数据复制和粘贴操作,将工作表创建为pdf文件并附加到电子邮件中。

在此处输入图片说明

我们共享电子表格文档,我希望将其保留用于版本控制。设置脚本的最佳方法是什么,以便如果脚本实例已经在电子表格文档中运行,它会拒绝第二次尝试,直到第一个尝试完成为止?某种尝试赶上?

我认为代码与此问题无关,这是有问题的函数的开头:

function failedSettlementsEmailz() {
  var contacts; 
  var toastMembers="";
....more code... 
Run Code Online (Sandbox Code Playgroud)

它会在脚本文档中调用绑定到Google表格电子表格的其他两个函数。

谢谢

And*_*rts 5

看一下LockService

例如在您的代码中有:

var lock = LockService.getScriptLock();
if (lock.tryLock(1000)) { // Wait for 1s
  // Do stuff ...
  lock.releaseLock()
} else {
  // This script is already running, try again later ... 
}
Run Code Online (Sandbox Code Playgroud)