【问题标题】:Maximum run time of Google script per user or per account每个用户或每个帐户的 Google 脚本的最长运行时间
【发布时间】:2016-08-16 16:40:24
【问题描述】:

我确信它将是每个用户 - 但是 - 是 24 小时内的最大脚本运行时间,对于“Google Apps For Business”,每个用户 6 小时或帐户中所有用户的 6 小时。


配额的网络链接并不清楚 - 它只是说 6 小时。因此,每个 8000 个用户的 6 小时是一个巨大的数字,但相反,8000 个用户之间的 6 小时是微不足道的。

我的特殊情况是一个脚本通过可安装的时间驱动触发器运行,该触发器将 excel 附件(每个大小为 3mb)从 Gmail 转换为 Google 表格,在文件中搜索特定内容,如果找到它会将更多内容复制到另一个 Google 表格,如果然后没有内容向发件人发送响应,告诉他们填写正确的表格并附上。

处理 3 条消息(9 个附件)大约需要 5 分钟,我们目前每周收到 25 份提交,但每周将增加到 300 份。该脚本每 10 分钟运行一次。当我们达到 300 次提交时,运行 500 分钟后,该过程将完成。通常他们都在同一天到达,所以我将在第 1 天达到 6 小时,然后在第 2 天重新开始以完成。

那么问题是,组织中的其他人在第 1 天超过 6 小时后是否无法运行触发脚本?

【问题讨论】:

  • 怎么可能适用于所有用户?那么在拥有 8000 个用户的域上会发生什么? ;)
  • 以脚本所有者身份运行的网络应用程序将按照作者的限制运行。作为访问用户的身份验证将是每个用户。有许多不同的上下文脚本运行,你必须更具体。
  • @Jonathon 很高兴注意到Installable triggers always run under the account of the person who created themInstallable Triggers
  • 是的,问题可能已部署的各种上下文之一

标签: google-apps-script quota


【解决方案1】:

触发器的最长运行时间取决于您的 Google Apps 帐户的总脚本执行时间,这是一个帐户汇总,不是每个用户的。

如果您有 8000 位用户通过触发器直接使用 Apps 脚本(例如通过简单的 doGet 触发器的 Web 应用程序),他们将在达到您的帐户每日配额之前每个人获得 2.7 秒的执行时间。

如果您达到或超过此限制,我建议您查看最大的执行时间槽。不要在循环的每次迭代中获取工作表引用,不要一次进行大型聚合插入或导入而不是一行,不要通过具有数千名用户的 Apps 脚本部署 Web 应用程序。

请注意,手动运行的脚本不会影响此限制,我不确定该限制是多少。

为什么投反对票?这不正确吗?

编辑:

【讨论】:

  • 只要是通过简单或可安装的触发器而不是手动运行的,这两种方法都会为您的帐户带来最长的执行时间。为什么投反对票,这不正确吗?
  • 好吧,你是说每个人总共需要 6 个小时。那么,如果一天之内全部用完,那一天就没有其他人可以触发了吗?有人不同意 - 因此投反对票?
  • 您的组织总共需要 6 小时。文档非常清楚,列出的限制是针对帐户的,而不是针对个人的,因为该帐户的用户都共享相同的聚合触发器运行时。我不确定是否投反对票,如果用户不同意并且有一个声明可以为这个主题做出贡献,那么他们应该发布它。如果您不想接受这个作为答案,那很好,我已通过该页面向 Google 发送了文档反馈,希望我们得到澄清。如果有任何澄清和 ping 你,我会更新这篇文章。
猜你喜欢
  • 2017-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多