我已经在Google App脚本中编写了一些代码,由于达到执行配额限制,我经常出现异常。
我想避免这种异常,但是我没有找到任何类或方法来查询配额的当前状态。
很遗憾,没有单个功能可以让您直接跳过任何配额限制。
但是,您可以构建一个简单的体系结构,一旦您知道遇到哪种速率限制(例如,时间或命中次数等),就可以构建代码的逻辑来适应这种情况。
示例:bypass script execution timeout, programmatically-]的操作方法>
检测阈值的代码-
// var today = new Date(); // 'today' is declard in the original script function isTimeUp(today) { var now = new Date(); return now.getTime() - today.getTime() > 30000; // 30000 = 30 seconds; this is the threshold limit // you are free to setup your own threshold limit }
有意破坏代码的代码(在脚本为您执行之前),因此您可以以编程方式设置触发器,以在破坏代码的地方进行处理-
function firstFunction() { var today = new Date(); for (var i = 0; i < something.length; i++) { // check if the script has exceeded threshold if (isTimeUp(today)) { // schedule a trigger for a different function ScriptApp.newTrigger("repeatFunction") .timeBased() .everyMinutes(1) .create(); break; } } } function repeatFunction() { for (/* condition */) { // do stuff; maybe not everything from firstFunction() if (/* test condition that defines the last action */) { var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { // delete all triggers ScriptApp.deleteTrigger(triggers[i]); } break; } } }
我知道您可能不需要太多的编码部分,但是我很乐意根据需要提供帮助:)