为什么我的脚本在触发器执行时无法运行,但在手动执行时成功?

时间:2013-11-21 19:11:12

标签: google-apps-script google-sheets

我不确定我是否遇到过错误,或者只是我没有完全理解触发器是如何工作的,可能是第二个:D。

我有一个谷歌应用程序脚本,通过对我们CRM的API的一系列请求收集信息并将其放在Google Docs电子表格上,该脚本需要一段时间才能运行,但是,它运行成功(我每天早上都手动运行) ,大约需要3分钟)。但是当我尝试自动执行该任务时,我收到一条错误消息,指出我的脚本超出了执行时间限制。

我尝试手动设置我的触发器,在脚本中创建它们,分解我的脚本减少API请求的数量(花费不到一分钟的时间来执行)并执行几次以便我获得所有信息。每次我收到相同的错误信息。

我在这里遗漏了什么吗?任何帮助将不胜感激!

编辑:我收到的邮件有以下错误消息:“超过最长执行时间”。

Edit2:我能解决这个问题(派对)。我找到了这个问题Exceeded maximum execution time in Google Apps Script的答案,并且像一个魅力。

2 个答案:

答案 0 :(得分:0)

您必须牢记Google Apps脚本的一些限制:请参阅Quotas

您可能超过触发器的总运行时间。触发器还有较短的个人执行时间限制。我想我记得在某个地方读过Triggers每次执行的总执行时间限制较低,但是我不记得我在哪里看到了它,即使在谷歌的文档中也找不到来源。

This SO question也类似......

答案 1 :(得分:0)

我不会说这是一个错误,但是作为我自己痛苦的经历,我可以告诉它不是手动运行脚本而不是通过时间驱动的触发器。 有时它只是速度较慢,但​​有些则因超时而失败。

我不知道您的具体信息(没有可用的代码),但我建议您使用包含任何关键呼叫的重试指数退避功能,并检查超时警告(假设在5分钟内)主循环。