在 Google 应用程序脚本中,我有一个正在运行的脚本,但有时我手动启动另一个脚本,然后我想中断正在运行的脚本。如何通过手动触发的脚本停止正在运行的脚本?
要从另一个脚本停止正在运行的 Google Apps 脚本,您可以使用存储在两个脚本均可访问的位置的共享标志,例如 Google 表格或脚本/文档/用户属性。该标志充当正在运行的脚本终止其进程的信号。这是一个基本方法:
function stopMainScript() {
// `MainScript` is the name of the library
MainScript.stopMainScript()
}
function mainScript() {
// Resetting the stopFlag at the begging of the run,
// assuming that it should not be cancelled manually.
resetStopFlag();
while (true) {
// Your script's main logic
if (checkStopFlag()) {
console.log('Stopping script');
break;
}
}
}
function checkStopFlag() {
const scriptProperties = PropertiesService.getScriptProperties();
const flag = scriptProperties.getProperty('stopFlag');
return flag === 'true';
}
function resetStopFlag() {
const scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty('stopFlag', 'false');
}
function stopMainScript() {
const scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty('stopFlag', 'true');
}