Вы должны обнаружить этот случай в коде своей функции. Автоматическое c обнаружение отсутствует. В частности, ваш код должен быть в состоянии распознать ситуацию, когда обновление, которое вызывает функцию, было результатом предшествующего обновления самой функции. Иногда это включает проверку флага в документе, который указывает, что он уже был обработан, или поиск другого способа проверить, была ли работа уже выполнена. Если это так, функция должна просто вернуться, не обновляя документ снова.
Существует видео, в котором обсуждается та же проблема с базой данных реального времени. Это точно такая же проблема, только с другой базой данных.
https://www.youtube.com/watch?v=Bdm7QNwSHOg