【问题标题】:Google Apps Script - MAX EXECUTION TIMEGoogle Apps 脚本 - 最长执行时间
【发布时间】:2020-04-22 15:11:32
【问题描述】:

我在 GSuite Business 上,我制作了一个 Google Apps 脚本,用于读取 GDrive 文件夹上的内容,并在 A 列上写下文件的名称,在 B 列上写下文件的 GDrive 链接。 我在这个文件夹上有大约 8800 个文件,我超过了 30 分钟的执行时间配额。 在这个时候我没有想法解决这个问题.. 我在这里过去了我的脚本...

此脚本可用于查看与我的电子商务同步的产品图像列表。

function ImageDatabaseUpdate() {

  //read file on my drive foldeer -> 06 - usato fine serie
  var foldername = '06 - Usato e Fine serie';
  var folderlisting = 'Database GTLG ';

  var folders = DriveApp.getFoldersByName(foldername)
  var folder = folders.next();
  var contents = folder.getFiles();
  var contents = folder.getFiles();

  //Set file id and sheet Immagini
  var ss = SpreadsheetApp.openById("1ok2tfpLFRHE6I4ehR9lfsLwtFy1UfTdJqbi-NCqGVS0");
  var sheet = ss.getSheetByName('immagini');

  //Write heading on first sheet row
  sheet.appendRow(['name','link']);

  var file;
  var name;
  var link;
  var row; 

  //start reading and writing
  while(contents.hasNext()){
    file = contents.next();
    name = file.getName();
    link = file.getUrl();
    sheet.appendRow([name, link]);
  }
}

【问题讨论】:

  • 查看最佳实践。您应该创建一个数组并将值设置到工作表或getContinuationToken() 以便稍后继续。有关详细信息,请参阅tag info page

标签: performance google-apps-script google-drive-api max-execution-timeout


【解决方案1】:

您的代码进入无限循环,因为您需要contents.next() 才能移动到下一个文件。由于folderIterator 不会增加,while(contents.hasNext()) 将永远持续下去。

【讨论】:

  • op 确实有 contents.next()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多