我有一個腳本,刪除行,如果谷歌表中的某些單元格留空。我正在處理大約6000多行。該腳本正常工作,但5分鐘後崩潰。 Google的服務器只允許5分鐘的運行時間。如何循環和腳本運行,每4分鐘
我想避開這個運行時間上限。我如何創建一個循環,每4分鐘運行腳本?
這裏是我的代碼:
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if ((row[2] == 0 || row[2] == '') && (row[3] == 0 || row[3] == '')) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
} else if ((row[3] == 0 || row[3] == '') && (row[4] == 0 || row[4] == '')) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
}
}
};
我原本打算半開玩笑地建議一個巨大的setTimeout或setInterval,但我不確定這是你的問題。你說你的JS一次只能運行5分鐘,然後谷歌關閉它**,你需要刷新**?該腳本是在谷歌腳本運行器上運行,還是在Chrome env(控制檯)中運行? –
是的,確切地說。我需要刷新一些方法。 Google的運行時間上限爲5分鐘。我必須手動刷新腳本。我會liekto設置它自動再次運行腳本。 –
嗯。棘手。有趣!我從來沒有這樣做過,但會這樣嗎? (1)弄清楚如何構建一個定期刷新頁面的chrome擴展(第二個答案看起來最清晰:chrome.tabs.reload)。 (2)在所需的時間運行腳本!勒梅知道,我可以把它變成一個答案。 –