AppsScript-需要优化建议或最大运行时间绕过
创始人
2024-11-10 08:30:21
0
  1. 优化代码:
  • 减少代码中的循环次数;
  • 使用缓存机制避免频繁读取数据;
  • 使用数组批量操作数据等。
  1. 把代码拆成多个函数并使用触发器:
  • 把长时间运行的函数拆成多个较短的函数,并使用在指定时间运行的触发器,每次运行一部分代码,从而避免达到最大运行时间限制。

示例代码:

// 使用缓存机制避免频繁读取数据 function getData() { var cache = CacheService.getScriptCache(); var cachedData = cache.get('data'); if (cachedData) { return JSON.parse(cachedData); } else { var data = // 处理数据的代码 cache.put('data', JSON.stringify(data), 300); // 缓存数据 5 分钟 return data; } }

// 把代码拆成多个函数并使用触发器 function processData(data) { // 处理一部分数据,并返回剩余数据 return remainingData; }

function processAllData() { var data = getData(); var remainingData = processData(data); if (remainingData.length > 0) { ScriptApp.newTrigger('processAllData') .timeBased() .after(30 * 1000) // 30 秒后再次运行 .create(); } }

// 使用数组批量操作数据 function processBatchData() { var data = getData(); var batchSize = 100; var startRow = 2; // 数据的起始行数 var numRows = data.length; // 要处理的总行数 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var row = startRow; while (row <= numRows) { var values = data.slice(row - startRow, row - startRow + batchSize); // 处理 values 数组中的数据 sheet.getRange(row, 1, values.length, values[0].length).setValues(values); row += batchSize; } }

相关内容

热门资讯

我来教教你!德扑之星辅助挂多功... 我来教教你!德扑之星辅助挂多功能透视工具,竟然有挂(有挂存在)1、进入游戏-大厅左侧-新手福利-激活...
玩家必看秘籍!德扑之星辅助挂多... 玩家必看秘籍!德扑之星辅助挂多功能透视工具,本来真的有挂(有挂方略)1、超多福利:超高返利,海量正版...
实测交流!红龙poker辅助挂... 实测交流!红龙poker辅助挂多功能透视工具,竟然存在有挂(有挂规律)1)红龙poker辅助插件:进...
让我来分享经验!智星菠萝德州辅... 让我来分享经验!智星菠萝德州辅助挂多功能透视工具,一直有挂(了解有挂)1、下载好智星菠萝德州正确养号...
终于清楚!WPK辅助挂多功能透... 终于清楚!WPK辅助挂多功能透视工具,真是真的有挂(有挂功能)WPK破解侠是真的助透视。每个模型中均...
玩家必看教程!德扑圈辅助挂多功... 玩家必看教程!德扑圈辅助挂多功能透视工具,一直真的有挂(确实有挂)1、进入到德扑圈是否有挂之后,能看...
热点讨论!wpk辅助挂多功能透... 热点讨论!wpk辅助挂多功能透视工具,真是真的是有挂(有挂详细)1、金币登录送、破产送、升级送、活动...
记者发布!智星德州扑克辅助挂多... 记者发布!智星德州扑克辅助挂多功能透视工具,真是真的有挂(确实有挂)1、智星德州扑克免费辅助多个强度...
玩家攻略!智星德州扑克辅助挂多... 玩家攻略!智星德州扑克辅助挂多功能透视工具,一贯存在有挂(详细教程)1.智星德州扑克 选牌创建新账号...
教学盘点!智星德州扑克辅助挂多... 教学盘点!智星德州扑克辅助挂多功能透视工具,一贯存在有挂(的确有挂)进入游戏-大厅左侧-新手福利-激...