Есть ли способ остановить запущенный экземпляр облачной функции firebase - она ​​ушла в бесконечный цикл - PullRequest
0 голосов
/ 08 января 2019

У меня есть облачная функция, в которой есть такой код:

exports.functionName = functions.https.onCall((data, context) => {
    //some logic
    b().then(function(otherData){
       //further logic
       resolve(otherDataModified)
    });
});

b = () => {
    if(someError){
      b();
      resolve(); //This is where i made the mistake, this should be returned after b has completed
    }else{
      resolve();
    }
}

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

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

enter image description here

enter image description here

1 Ответ

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

Вы должны удалить функцию Cloud, перейдя в консоль Google Cloud (не Firebase) по адресу:

https://console.cloud.google.com/functions/list?project=YOUR_PROJECT_NAME

Вы увидите таблицу, в которой перечислены ваши развернутые Облачные функции: в конце каждой строки вы найдете кнопку с тремя точками. Нажмите на эту кнопку и выберите «Удалить».

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