【问题标题】:Can a Google Apps Script Web App be scalable?Google Apps Script Web App 可以扩展吗?
【发布时间】:2019-07-21 09:21:45
【问题描述】:

我正在开发一个 Google Apps 脚本网络应用程序。这个网络应用程序是 FlipVideo 的下一个版本,这是我之前在 Google Sheet 中开发的一个脚本(参见https://sites.google.com/view/flipvideo/ 的版本)

这是一个面向学校的网络应用程序。来自世界各地的许多学生将同时访问(可能有数千名)。我担心可扩展性和配额限制。

我将使用“将应用程序执行为:访问网络应用程序的用户”和“谁有权访问应用程序:任何人”来发布网络应用程序。这种配置是否允许数千个并发执行,或者存在无法扩展的硬配额?

【问题讨论】:

  • 此信息不适用于网络应用程序,但我想我会提到它。我查看了您的网站,发现用户可以制作电子表格的副本。如果代码是从他们拥有的电子表格中运行的,那么任何配额限制都会影响他们的帐户。此外,如果您将代码作为表格插件发布,则安装该插件的每个帐户都有自己的配额限制。即使您是脚本文件的所有者,配额也不会违反您的帐户。您的插件可能有数百万用户,并且您的帐户没有任何配额限制。

标签: google-apps-script web-applications concurrency


【解决方案1】:

很遗憾,目前无法满足您的要求。 GAS Web 应用最多有 30 个并发用户 (see simultaneous executions under current limitations on the quotas page)。您需要利用不同的解决方案来进行如此大规模的运营。如果您想坚持使用 Google 的云平台,我建议您使用 Cloud Functions。但是,它不是免费服务。

【讨论】:

  • 谢谢Dimu...我认为有一种方法可以绕过配额限制或不使用云平台产品付款:(
【解决方案2】:

此 Google 用户同时运行的脚本过多 帐户。这表明您有太多的脚本在执行 一次,尽管不一定是相同的脚本。像例外 上面,这最常见于调用的自定义函数 在一个电子表格中重复。

上述限制意味着单个用户不能让相同的脚本执行 30 次。例如,您可以通过在 30 个不同的选项卡中打开同一个 Web 应用程序来实现此限制。所以我想用户数量的限制是不存在的,否则 App Script 将失去作为 IDE 的所有意义。

【讨论】:

  • 对不起,我会稍微纠正一下。如果只是在超过 30 个选项卡中打开 webapp,则不会导致错误。但是如果你同时在30多个标签页中打开一个包含onOpen函数的webapp,就会出现异常。但这将是“异常:同时调用太多:onOpen 的电子表格(代码:13:8)”,而不是“异常:同时执行太多”。
猜你喜欢
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 2016-08-10
  • 2012-07-14
  • 2012-07-21
相关资源
最近更新 更多