Остановить повторную попытку функции firebase по таймауту? - PullRequest
0 голосов
/ 18 мая 2018

Можно ли остановить функцию облака Firebase от повторной попытки, если время ожидания истекло?

Похоже, можно настроить логику повторных попыток Google Cloud Functions .Но я не могу найти эту настройку нигде при использовании функций Firebase.

Функции, которые делают это, запускаются с помощью:

exports.myFunction = functions.https.onRequest((req, res) => {
    ...
});

Функция отправляет запрос POST внешней службе, которая имеет тенденцию зависать, даже когда операция прошла успешно.

Когда это происходит, я вижу журналы начала выполнения функции, затем тайм-аут, затем немедленный запуск снова.Что вызывает эту повторную попытку?И можно ли остановить его от повторных попыток?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Это примерно Протокол HTTP .Также повторная конфигурация не применима для Http-запущенных облачных функций.

Когда облачная функция завершается из-за тайм-аута, она в основном возвращает 408: запрос истечения времени ожидания.Если ваш браузер поддерживает протокол 408 HTTP, он отправит запрос в облачную функцию.Я не уверен, но Chrome делает это, а Safari - нет.

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

0 голосов
/ 19 мая 2018

Повторные попытки отключены по умолчанию.

Вы можете настроить свою функцию в Облачной консоли .

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