- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Google 电子表格进行税务管理。我一年内完成的所有财务交易都在电子表格中。由于我所在国家/地区的税收规则非常复杂,因此我开发了许多 JavaScript 函数来帮助我进行计算。我的电子表格中有很多行,大约 1000 行。每一行都有对这些 JavaScript 函数的多个引用。
这个系统以前运行良好,但今天我发现 Google 在 Google 电子表格中安装了某种运行时限制系统,导致我的许多列中止并出现以下错误:
Service invoked too many times in a short time: exec maxSimultaneous.
Try Utilities.sleep(1000) between calls.
经过一些调查,似乎这个时间限制是为了防止脚本运行时间过长。我的情况不同:我的脚本都很短,O(1) 算法除了计算一些数字什么都不做。一个典型的脚本如下所示:
// Calculates the total amount excluding Value Added Tax, given
// an amount including Value Added Tax, and other sorts of information.
function ex_btw(inc_btw, commentaar, soort, btw_verlegd, btw_pct) {
Utilities.sleep(1000);
var soort = soort.toLowerCase();
if (soort == 'eten en drinken'
|| commentaar.match(/treinkaartje/i)
|| commentaar.match(/treinticket/i)
|| commentaar.match(/taxi/i)
|| commentaar.match(/ boek /i))
{
return inc_btw / 1.06;
} else if (soort == 'priveonttrekking'
|| soort == 'boete'
|| soort == 'belasting'
|| commentaar.match(/postzegel/i)
|| btw_verlegd == 'Ja')
{
return inc_btw;
} else {
return inc_btw / (1 + btw_pct);
}
}
然后像这样从单元格调用脚本:
=IF(B6<>""; ex_btw(B6;D6;E6;J6;S6); "")
也许我的问题是我有太多的脚本调用。每行调用大约 6 个这样的脚本,因此对于 1000 行,每个电子表格我调用 6000 次。
我该如何解决这个问题?有没有办法增加执行限制,或者有没有办法让脚本运行得更慢,这样它们就不会达到执行限制?正如您在示例代码中看到的,我已经尝试插入 Utilities.sleep(1000)
,但这似乎并不能解决问题。我不在乎脚本是否运行缓慢,我只在乎它们完成时没有错误。
我可以付费以提高限额吗?几天后我需要交税。
我考虑过的其他替代方案,但不可行。
拥有一个庞大的 JavaScript 函数,它可以遍历行并填充单元格。不可行,因为:
最佳答案
我通过让每个函数随机休眠一段时间来解决这个问题,如下所示:
Utilities.sleep(Math.random() * 5000);
重要的是 sleep 时间是随机的,而不是恒定的。显然,谷歌限制了可以同时使用 CPU 的函数的最大数量。
关于google-apps-script - 如何避免 Google 电子表格中的 'exec maxSimultaneous' 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14604334/
我正在使用 Google 电子表格进行税务管理。我一年内完成的所有财务交易都在电子表格中。由于我所在国家/地区的税收规则非常复杂,因此我开发了许多 JavaScript 函数来帮助我进行计算。我的电子
我是一名优秀的程序员,十分优秀!