Google apps script 脚本自动继续/超时后重新启动

Google apps script 脚本自动继续/超时后重新启动,google-apps-script,Google Apps Script,我使用默认服务组管理器和组扫描域中的所有组,检查组是否没有所有者,在这种情况下设置默认所有者 域中的组数接近2000,这导致我超时。我在循环中尝试了一个try/catch语句来处理每个组,但是Google在超时时终止了脚本 我很乐意分批完成这项工作,但一旦超时,我如何才能继续执行脚本呢?还是我应该监控执行时间并使用某种睡眠 或者我必须面对现实,在每次超时后重新启动脚本 真的需要对此作出回应,谢谢 /Don Pedro您不应该让脚本超时,而是尝试使用计时器触发器在特定时间间隔内一次处理有限数量的项

我使用默认服务组管理器和组扫描域中的所有组,检查组是否没有所有者,在这种情况下设置默认所有者

域中的组数接近2000,这导致我超时。我在循环中尝试了一个try/catch语句来处理每个组,但是Google在超时时终止了脚本

我很乐意分批完成这项工作,但一旦超时,我如何才能继续执行脚本呢?还是我应该监控执行时间并使用某种睡眠

或者我必须面对现实,在每次超时后重新启动脚本

真的需要对此作出回应,谢谢


/Don Pedro

您不应该让脚本超时,而是尝试使用计时器触发器在特定时间间隔内一次处理有限数量的项目

嗯,我想你可以回答说,这是说起来容易做起来难。。。但其实很简单:

  • 确定大约3分钟内可以签入多少组(最长执行时间为5’,但最好保持一个合适的余量)
  • 计算已处理的组并将此计数器值放在某处。。。最好在
  • 每隔10分钟左右设置一个计时器触发器,以调用您的函数,该函数从您刚刚记忆的编号索引的组开始(触发器也被删除或在脚本编辑器的ressource菜单中手动删除)
  • 在任务结束时终止计时器(再次手动或编程)

  • 希望这将为您提供足够的指导。

    谢谢Serge。这似乎是一条路要走。我希望在超时或溢出时会有一些返回值,这样脚本就可以在不重新启动整个脚本的情况下完成进程,但如果触发器方式有效,这就足够了。如果您知道您注定要在执行时强制超时,这就很好地说明了在何处/如何引入您自己的分页。即使超时确实返回了一个值,在任何情况下都需要一个处理程序来管理错误。