Я создал шесть getData
функций, каждая из которых выполняет вызов API для различных служб (четыре RESTful JSON, два SOAP XML).для каждой функции getData
я создал функцию setTrigger
, которая выглядит примерно так ...
function setGenerationTrigger() {
ScriptApp.newTrigger('generationControl')
.timeBased()
.everyMinutes(30)
.create();
}
я создал отдельную функцию createSchedule
, которая удаляет все существующие триггеры ивыполняет каждую из setTrigger
функций.из шести триггеров мне нужно три из них для запуска .everyMinutes(30)
, два для запуска .everyHours(2)
и последний для запуска .everyHours(6)
.это выполняется так, как я ожидал, и триггеры запускаются с желаемыми интервалами, начиная с момента запуска createSchedule
.
проблема, которую я хочу решить, состоит в том, что я хочу, чтобы эти функции setTrigger
были в шахматном порядке,например:
- один
.everyMinutes(30)
для начала в 12:00 (12:30, 13:00, 13:30 и т. д.) - один
.everyMinutes(30)
для начала в12:10 (12:40, 13:10, 13:40 и т. Д.) - один
.everyMinutes(30)
для начала в 12:20 (12:50, 13:20, 13:50 и т. Д.) - один
.everyHours(2)
для начала в 12:00 (14:00, 16:00, 18:00 и т. Д.) - один
.everyHours(2)
для начала в 13:00 (15:00), 17:00, 19:00 и т. Д.)
Я надеялся, что это будет так же просто, как добавить:
- с использованием
.atHour(12)
, но это будет выполняться ежедневно только в течениев этот час - с использованием
.atMinute(10)
, но это ошибки, поскольку это недопустимый метод
Можно ли это сделать из скрипта Google Apps, используя для выполнения одну функцию?или мне просто нужно вручную планировать каждый триггер с нужного момента времени?или альтернативно есть другой / лучший способ достижения того же самого результата?