触发器应每5分钟激活一次,但不会发生

时间:2019-12-04 15:10:18

标签: google-apps-script google-sheets triggers google-sheets-api google-apps-script-simple-triggers

激活顺序甚至不遵循时间逻辑,如下所示:

enter image description here

基于每5分钟的时间启用一次。

我使用的脚本非常简单:

function ProjetoNovasLigas() {
  var ss = SpreadsheetApp.getActive();
  ss.getRange('Página1!A2').setFormula('=TEXT(NOW(),"yyyy/mm/dd hh:mm")');
  ss.getRange('Página1!A2').copyTo(ss.getRange('Página1!A2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  if (ss.getSheetByName('Página1').getRange("C2").getValues()[0][0]=="Limpar"){
    ss.getRange('Página1!E2:E1000000').clear({contentsOnly: true, skipFilteredRows: true});
  };
  ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
  ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
  ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
  ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
  ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
  ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
  ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
  ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
  ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
  ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
  ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
  ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
  ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  if (ss.getSheetByName('Página1').getRange("A4").getValues()[0][0]=="Limpar"){
    ss.getRange('Página1!X2:X1000000').clear({contentsOnly: true, skipFilteredRows: true});
  };
}

最终细节: 我的帐户已一无所有,它仅是为该电子表格和此脚本创建的。因此,它并没有超出任何限制,我有另一个帐户,其中包含几个触发时间为5分钟的电子表格,并且所有电子表格都能正常运行。但是此帐户专用的此帐户无法正常工作。

我使用的脚本极其复杂和繁重,所有脚本都能100%正常工作。我发现这很奇怪,对于发生的事情没有合乎逻辑的解释。至少我找不到我所知道的错误。

我想知道是否有什么办法可以解决这个问题。

1 个答案:

答案 0 :(得分:1)

触发器的使用受quotas限制

例如对于消费者帐户,每天最多可触发90分钟的总运行时间。

如果您每隔5分钟运行一次触发器,则每天执行24次x 12次,并且平均执行时间为30秒-总运行时间为24 x 12 x 30秒/天= 144分钟/天> 90分钟/天