У меня есть облачная функция, в которой есть такой код:
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](https://i.stack.imgur.com/hHoC7.png)
![enter image description here](https://i.stack.imgur.com/DYS6Y.png)