我有一个公司帐户,因此计时器要花很长时间才能使脚本失败。但是我有一个脚本,要求许多人访问流行的电子表格(不知道有多少个,每天可能要检查数百人,并且每天肯定要运行至少100次自己的自定义功能),所以我的脚本经常超时而无法从工作表中获取数据。
接通后,通话时间不会超过30秒。我正在打一个电话,以从一张纸(用计算值填充)中获取显示值。
是否有任何方法可以强制脚本在30秒后结束(如果尚未完成该调用)?这不是逐行读取,也不是您有机会在每行中断它的任何内容。
我试过让它只从我关心的两列中读取值,即两次读取,而不是一次读取就拉出五列,但这没有什么区别,我认为这是交通问题,而不是负担东西。
当前代码:
var id = "xxx";
try{var data = SpreadsheetApp.openById(id).getSheetByName("Tracker 2019").getRange("A9:D").getDisplayValues();} catch(e){Logger.log(e); return;}
ss.getRange(1,1,data.length,data[0].length).setValues(data);
SpreadsheetApp.flush();
我要补充一点,通常它实际上不是在出错,而是在超时(不触发catch语句)。