ГАЗ запускает случайное отключение после создания программно - PullRequest
0 голосов
/ 21 марта 2020

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

Случайным образом вновь созданный триггер в цепочке становится отключенным и, следовательно, не запускается. Очевидно, что это разрушает всю цепочку и полностью портит то, что я пытаюсь достичь.

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

Мне интересно, может ли быть причиной проблемы удаление триггера в вызываемом им скрипте, но я не могу придумать альтернативный способ закодировать его.

Вот часть кода цепочки:

function mastersResultsAmericas1() {
  var region   = "Americas";
  var rSpot    = 1;
  var bgcolour = "#ffe1bc";

  mrAmericasTC2();
  mastersResults(region, rSpot, bgcolour);
  delTrigger("mastersResultsAmericas1");
}


function mrAmericasTC2() {
  ScriptApp.newTrigger("mastersResultsAmericas2")
    .timeBased()
    .atHour(9)
    .nearMinute(50)
    .onWeekDay(ScriptApp.WeekDay.SATURDAY)
    .inTimezone("PST8PDT")
    .create();
}

Они объединяются в цепочку вплоть до 5, а затем происходит сброс и создание триггера 1 еще раз .

Вот код, который я использую для удаления триггеров:

function delTrigger(trigger) {
  var triggers = ScriptApp.getProjectTriggers();
  for (var i = 0; i < triggers.length; i++){ 
    if (triggers[i].getHandlerFunction().indexOf(trigger) != -1) 
    {
      ScriptApp.deleteTrigger(triggers[i]);
      break;
    }
  }
}

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

1 Ответ

1 голос
/ 22 марта 2020

Мой обходной путь был результатом ответа на этот вопрос.

По сути, я просто встроил код в существующий триггер, который проверил день / время и запустил указанную функцию c если условия были выполнены. Больше не требуется цепочка триггеров или программное создание дополнительных триггеров (кроме начальной настройки).

...