【问题标题】:Script execution time varies every time I run it每次运行脚本时,脚本执行时间都会有所不同
【发布时间】:2012-11-08 16:57:29
【问题描述】:

每次我运行我的脚本时,它的执行时间都与上次运行有很大不同。该脚本正在对约 500 行样本表执行一些自定义验证。执行时间从 7 秒到 300 秒不等。有趣的事实是,这 300 秒超过 5 分钟(我相信这是官方限制,是吗?)。

有人能帮我理解这种行为吗? 提前致谢, 乌卡斯

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    5 分钟不,您的脚本将在 6 分钟后超时。

    您可以发布代码吗?这样我就可以更好地理解你想要达到的目标。

    当在同一个样本表上运行包含相同数据的脚本时,您获得的不同执行时间是否总是不同的? 还是只有样本表数据不同时执行时间才会不同?

    您的脚本正在执行的自定义验证是否会在您每次运行脚本时更改?

    【讨论】:

    • 代码非常复杂(大约 500 行),所以我不想在这里粘贴它。我可以补充一点,每个脚本运行对各种服务(MailApp、ServiceDB、SpreadsheedApp 和 CacheService)的调用不超过 10 次,并且脚本由基于时间的触发器触发。示例数据始终相同(脚本仍处于开发阶段)。我正在努力让它更快,但我尝试得越多,我相信除非 Google App Scripts 改进,否则这是不可能的?
    • 这里是一些可能有用的分析工具的链接developers.google.com/speed
    • 您是否考虑过将相关库添加到您的项目中,并在客户端而不是服务器端进行调用?如果这对您的项目可行。
    • Bubz:我该怎么做?你说的是什么库?
    • 经过一些测试,结果发现不同的执行时间仅在为大量单元格(>500)执行 setBackgroundColors 或/和 setComments 时。当我将它降低到 200-250 时,执行时间就稳定下来了。不过,如果能够一次性处理更大的数字,那就太好了……