Javascript Google应用程序脚本最大执行时间问题
我不熟悉编码,最近我创建了一个Google脚本(基于其他两个脚本),它执行以下操作:Javascript Google应用程序脚本最大执行时间问题,javascript,html,google-apps-script,google-sheets,google-apps-script-editor,Javascript,Html,Google Apps Script,Google Sheets,Google Apps Script Editor,我不熟悉编码,最近我创建了一个Google脚本(基于其他两个脚本),它执行以下操作: 按主题行搜索Gmail草稿 获取Gmail草稿并将其用作模板,以创建具有唯一附件的多个草稿 在创建草稿后放置确认短语 代码如下: //更改这些名称以匹配您用于电子邮件接收地址和合并状态列的列名// var RECIPIENT_COL=“Email”; var MERGE_STATUS_COL=“M”; //创建菜单项“邮件合并”,以便用户在下拉列表中运行脚本// 功能开启(e){ var ui=Spreadsh
//更改这些名称以匹配您用于电子邮件接收地址和合并状态列的列名//
var RECIPIENT_COL=“Email”;
var MERGE_STATUS_COL=“M”;
//创建菜单项“邮件合并”,以便用户在下拉列表中运行脚本//
功能开启(e){
var ui=SpreadsheetApp.getUi();
ui.createMenu(“邮件合并”)
.addItem(“根据我在您发布的代码中看到的内容,您必须以以下方式编辑createDrafts
函数:
- 编辑函数的触发方式:必须使用HTMLUI元素在其中运行javascript
- 编辑
while
循环,使其在达到批次限制时具有return
语句
- 在HTML ui元素中创建一个Javascript函数,该函数处理
createDrafts
函数的成功,并在返回continuationToken
时递归调用该函数
片段
UI组件
您可以保留自定义菜单,然后单击“将此HTML添加到UI对话框”
-code.gs-
//创建菜单项“邮件合并”,以便用户在下拉列表中运行脚本//
功能开启(e){
var ui=SpreadsheetApp.getUi();
ui.createMenu(“邮件合并”)
.addItem('您必须比更具体,需要一些帮助
我希望能够以小批量(10个文件)处理脚本中的行,然后返回客户端再次调用服务器并处理新的批处理(如我发布的第二个脚本中的批处理).这样做,据我所知,计时器将被重置,我将永远不会接近6分钟的限制。但我不确定如何做到这一点。这就是为什么我需要帮助,所以您只需使用google.script.run.withSuccessHandler().runBatch(obj);和对象包含运行另一个批处理所需的所有信息。在每个批处理结束时,将信息存储在properties services或cache service中,以便在启动另一个批处理时,它具有下一批处理的当前信息。然后返回到.withSuccessHandler()在每一批之后。然后你可以使用计时器开始另一批。你仍然必须保持在每天的配额内。哇!非常感谢你的回复。你说得很清楚,现在它似乎正在工作。我现在唯一的两个小问题是html文件中的这些代码行没有更新草稿的数量创建:var nbofficeleprocessedel=document.getElementById(“nbofficeleprocessed”);nbofficeleprocessedel.innerHTML=parseInt(nbofficeleprocessedel.innerHTML)+10;
此外,我正在努力寻找插入确认短语(草稿)的方法在处理每批10之后。这些更改将帮助我查看脚本是否成功运行。您是否将0
放在html对话框中?“此外,我正在努力寻找在处理每批10之后插入确认短语(草稿)的方法。”你是什么意思?哪个代码指令插入确认短语?如果此解决方案解决了你的问题,你应该接受答案,并针对你的其他问题提出另一个问题。这将使你的帖子对堆栈溢出社区中的其他人有用,并使事情更有条理。谢谢!我确实放了你提到的代码行但它不会更新html文件。这是我原始脚本中的代码,用于输入确认短语:sheet.getRange(“a”+(rowIdx+2)).setValue(“DRAFT”);
它输入一个词“DRAFT”在处理完所有行后的第一列中。当有大约10-20行要处理时,它很有用,但对于大约100行,它是无用的,因为除非您转到草稿文件夹并重新加载它或等待脚本停止,否则没有任何视觉指示符表明脚本实际上工作正常。是的,我接受您的回答.嘿,Michael,你刚刚投了更高的票..亲爱的Alessandro,我刚刚运行了一个最终测试,大约有70行,每行有两个附件,经过大约6分钟的工作后,修改后的脚本仍然会停止。也许我做错了什么,但出于某种原因,它没有任何效果。