【发布时间】:2018-07-02 04:28:58
【问题描述】:
我在一张有几个编辑器的工作表上有一个脚本,几天前它工作得很好。但是,当我今天尝试时,它开始超时。我将问题缩小到函数调用 getValue()。 代码如下:
1 function testGetIdFromUrl() {
2 var sheet = SpreadsheetApp.getActiveSheet();
3 Logger.log(sheet);
4 var range = sheet.getRange("F6");
5 Logger.log(range);
6 var thevalue = range.getValue();
7 Logger.log(thevalue);
8
9 Logger.log("The ID is : " + getIdFromUrl(thevalue))
10
11 }
在日志上,它显示最后一个日志来自第 5 行,其中显示“范围”; 日志是这样的:
[18-07-02 12:08:38:350 HKT] Sheet
[18-07-02 12:08:38:352 HKT] Range
执行记录是:
[18-07-01 23:21:26:532 PDT] Starting execution
[18-07-01 23:21:26:546 PDT] SpreadsheetApp.getActiveSheet() [0 seconds]
[18-07-01 23:21:26:548 PDT] Logger.log([Sheet, []]) [0 seconds]
[18-07-01 23:21:26:549 PDT] Sheet.getRange([F6]) [0 seconds]
[18-07-01 23:21:26:550 PDT] Logger.log([Range, []]) [0 seconds]
[18-07-01 23:27:36:835 PDT] Range.getValue() [370.285 seconds]
[18-07-01 23:27:36:841 PDT] Execution failed: Exceeded maximum execution time [370.294 seconds total runtime]
当我创建同一张工作表的副本并运行脚本时,它工作得非常好。
同样,如果不是从当前工作表的某个范围运行 getValue(),而是引用另一个工作表,我可以调用 getValue() 从任何其他工作表获取值。
未对工作表中的权限或任何受保护范围进行更改。自从我上次触摸它。同一电子表格的所有者也无法运行该脚本。
有什么想法可能会出错吗?
【问题讨论】:
-
您是否收到错误消息?你看过执行记录吗?
-
一共有 4 条日志,你能把所有的日志都贴出来
-
@chuckx 没有错误信息,脚本只是在 6 分钟后超时。
-
@Umair 脚本在第三条和第四条日志之前超时
-
执行记录:
[18-07-01 23:21:26:532 PDT] Starting execution [18-07-01 23:21:26:546 PDT] SpreadsheetApp.getActiveSheet() [0 seconds] [18-07-01 23:21:26:548 PDT] Logger.log([Sheet, []]) [0 seconds] [18-07-01 23:21:26:549 PDT] Sheet.getRange([F6]) [0 seconds] [18-07-01 23:21:26:550 PDT] Logger.log([Range, []]) [0 seconds] [18-07-01 23:27:36:835 PDT] Range.getValue() [370.285 seconds] [18-07-01 23:27:36:841 PDT] Execution failed: Exceeded maximum execution time [370.294 seconds total runtime]