Принудительно выполнить скрипт через 30 секунд? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть учетная запись corp, поэтому таймер для сбоя скрипта составляет много минут. Но у меня есть скрипт, который обращается к популярной электронной таблице, к которой обращаются многие люди (не знаю, сколько, это могут быть сотни, проверяющие ее в день и выполняющие свои собственные пользовательские функции, по крайней мере, 100 раз в день), и поэтому мой сценарий часто тайм-аут, не имея возможности получить данные с листа.

Когда он проходит, вызов никогда не занимает более 30 секунд. Я делаю один вызов, чтобы получить отображаемые значения с одного листа (который заполнен рассчитанными значениями).

Есть ли способ заставить скрипт завершиться через 30 секунд, если он не завершил этот вызов? Это не чтение за строкой или что-то еще, где вы могли бы прервать его в каждой строке.

Я пытался заставить его читать значения только из двух столбцов, которые мне нужны как два чтения, а не вытягивать пять столбцов за одно чтение, но это не имеет значения, я думаю, что это трафик, а не нагрузка вещь.

Текущий код:

  var id = "xxx";
  try{var data = SpreadsheetApp.openById(id).getSheetByName("Tracker 2019").getRange("A9:D").getDisplayValues();} catch(e){Logger.log(e); return;}
  ss.getRange(1,1,data.length,data[0].length).setValues(data);
  SpreadsheetApp.flush();

Я добавлю, что на самом деле это не ошибка, а тайм-аут, как правило (не вызывает оператор catch).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...