【问题标题】:"Your quota of triggers has been exceeded"“您的触发器配额已超出”
【发布时间】:2012-05-14 14:40:25
【问题描述】:

任务: 对于我们的每个客户,我们需要构建八个电子表格,每个电子表格至少有两个触发器:1) 打开和 2) 基于时间从更大的电子表格中刷新特定数据。 (这是 IMPORTRANGE 函数失败的解决方法。)

我们目前有 100 个客户,不久将扩大到 200 个。因此,我们目前需要大约 800 个电子表格和 1,600 个触发器;预计很快将分别达到 1,600 和 3,200。

问题 创建前 300 个电子表格(大约 600 个触发器)后,我们收到以下错误:

您的触发器配额已超出。要创建更多,您必须删除一些现有的触发器。

所需的解决方案: 我们正在为每个客户在私人 Google 网站上收集八个电子表格。理想情况下,我们可以从站点调用每个电子表格脚本,并消除基于时间的触发器。尝试创建一个按钮来执行脚本,但在网站上,它不是交互式的。

问题: 在 Windows 7 上运行,Chrome 中的错误也尝试了 Firefox,并且得到了同样的错误。

1)a 有谁知道触发器的限制,它是否在某处发布?

1)b 有没有办法提高这些限制?

2) 关于其他解决方法或解决方案的任何想法?

【问题讨论】:

    标签: google-apps-script google-sheets triggers


    【解决方案1】:

    Eric 已经回答了您的问题 (1)。 (没有,也没有)

    现在问题 (2),一种可能的解决方法是反转脚本的场景,而不是每个脚本都在“更大的电子表格”上获取其数据,您的主控上的单个脚本可以将数据分布在所有其他电子表格上.您可以对每个电子表格进行某种“注册”,可以将它们放在同一个文件夹中,或者以任何其他适合您的方式。

    通过更改此方法,您肯定会遇到另一个限制,即脚本总运行时间:6 分钟。但是,您可以通过将任务分成小块来轻松解决这个问题,您可以在每分钟触发时工作和恢复。

    【讨论】:

    • 感谢您的快速回复。我们查看了推送选项而不是拉取选项,并默认使用拉取选项。我想推送会像你提到的那样工作......我们非常擅长编辑脚本,但在从头开始编写脚本方面经验不足。您知道我们可以用作起点的任何已发布的推送脚本吗?谢谢!
    • 不,不是。但它基本上是一个循环,打开每个远程电子表格SpreadsheetApp.openById('ss-key'),然后在所需的 sheet.range 上打开setValues。与您拉动的操作没有什么不同(除了循环执行多次)。
    • 我想我 90% 都在这方面。
    • 我已经使用 javascript 对象完成了读取和写入电子表格数据...一切进展顺利,但我需要两个我似乎无法正确进行的更改。这部分脚本将数据写入正确的工作表,如果找不到现有工作表,则创建一个新工作表。我只希望它与其中一个属性匹配时写入工作表 - 不创建任何新工作表。 /跨度>
    • var headerBackgroundColor = dataSheet.getRange(1, 1).getBackgroundColor(); for (var i = 0; i
    【解决方案2】:

    一个用户可以拥有的触发器数量是有限制的,但它们不会发布,也无法更改。

    【讨论】:

    • 谢谢埃里克。我们有 10 个用户的业务应用程序,听起来一种可能的选择是在其他用户下运行一些触发器?
    • 是的,这是一个选项。但是管理这么多触发器和用户将非常麻烦(恕我直言)。
    猜你喜欢
    • 2019-11-12
    • 2021-10-19
    • 2020-02-16
    • 1970-01-01
    • 2021-10-23
    • 2019-08-21
    • 2019-02-23
    • 2016-11-16
    • 2019-01-12
    相关资源
    最近更新 更多