В нашем приложении Firebase есть список с большим количеством элементов в базе данных реального времени.Каждая операция создания, обновления и удаления отдельного элемента обрабатывается облачной функцией Firebase с помощью триггера onWrite (в простейшем случае эта функция просто считает элементы).Но иногда возникает необходимость в массовых операциях с предметами без необходимости индивидуальной обработки.Допустим, мы хотим в одной транзакции удалить все элементы и сбросить счетчики.
Ранее это работало просто отлично.Из-за ограничения в 1000 для числа облачных функций, запускаемых одной записью (https://firebase.google.com/docs/database/usage/limits), функции вообще не запускались, и это был желаемый результат.
Теперь, без каких-либо изменений в коде приложения, мыесть ошибка
Ошибка: TOO_MANY_TRIGGERS: этот запрос может вызвать срабатывание слишком большого количества функций.
Такая же ошибка появляется в клиентском приложении, API администратора и даже при импорте jsonиспользование веб-интерфейса. Единственный вариант, который работает для нас, - это обработка элементов в пакетном режиме. Но это не транзакционный процесс, и он занимает до десятков минут, а не миллисекунд, как раньше.
Какие варианты у нас есть, чтобы обойти этоошибка? Оптимально это было бы переключение на пропуск функции запуска в случае превышения лимита.