Отправка большого количества уведомлений приводит к ошибке избыточной памяти - PullRequest
0 голосов
/ 11 апреля 2019

Я сохранил токены пользователей моего приложения в имени узла "токены".

В функциях Firebase я создаю функцию, которая читает все токены, которых более 5000, и отправляет уведомление каждому токену.

есть:

return  admin.database().ref('root/tokens/').once('value')
                    .then(function(dataSnapshot){

                            dataSnapshot.forEach(function (snapshot) {

                                var token = snapshot.val(); 
                                admin.messaging().sendToDevice(token, payload, options );

                            }

Но я получаю сообщение об ошибке в журнале функций Firebase:

enter image description here

Что мне нужно для устранения этой ошибки? Нужно ли менять свой код?

1 Ответ

1 голос
/ 11 апреля 2019

Сообщение об ошибке указывает на то, что вашей облачной функции не хватило памяти. Поэтому вам необходимо либо увеличить объем памяти, который может использовать функция, либо уменьшить объем памяти, который ей требуется.

Чтобы изменить доступную память, ознакомьтесь с документацией по , устанавливающей время ожидания и распределение памяти .


Не связано: рассмотрите возможность использования нового sendAll метода Firebase Admin SDK , чтобы сократить количество вызовов API, которые вам нужно сделать. Это ускорит выполнение вашего кода и может немного уменьшить использование памяти.

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