Мне нужно создать облачную задачу Google с длительным временем повтора (например, год), это будет простой запрос на отправку в конечную точку моего приложения. Я создал задачу с
const task = {
...
scheduleTime: {
seconds: expirationAtSeconds,
}
}
const [response] = await this.taskClient.createTask(request);
Задача создана успешно, но я хочу отложить следующее выполнение на 17202815 секунд. Это означает, что задача должна вызвать 01.12.2024, но задача запускается немедленно через несколько секунд, а не так, как я ожидал. Что я делаю не так?
Более распространенный вопрос: как с помощью Cloud Tasks запланировать выполнение функции с задержкой?
Упс, вы правы, может быть, нужно больше секунд, но я пытаюсь увеличить время и получаю сообщение «Необнаруженная ошибка: 3 INVALID_ARGUMENT: Task.scheduleTime, 2024-11-30T15:00:00-08:00, слишком далеко» в будущем время расписания должно быть не более 720ч..» Вы можете написать свой совет как решение. Интересно, какое время TTL позволяет Firebase? Возможно ли более 30 дней?
Максимальное запланированное время выполнения задачи на основе квот и ограничений Cloud Tasks составляет 30 дней.
Вы можете воспользоваться этим обходным решением, в котором были созданы 2 облачные задачи, а вторая будет запущена, как только первая задача достигнет максимального времени расписания.
Публикую свой предыдущий комментарий в качестве ответа.
Добавление к комментарию @guillaumeblaquiere:
Согласно этой документации по квотам и ограничениям Cloud Tasks максимальное запланированное время выполнения задачи составляет 30 дней.
Я бы предложил использовать этот обходной путь, в котором были созданы 2 облачные задачи, а вторая будет запущена, как только первая задача достигнет максимального времени расписания.
Ваша временная метка неправильная. Используйте этот 1733007600.