Почему я получаю «Клиент еще не готов выдавать запросы» - Firestore get () завершается ошибкой при вызове функцией Schedule - PullRequest
1 голос
/ 14 марта 2020

В моем проекте Firebase у меня есть функция functions.pubsub.schedule (). OnRun (), которая запускается каждые 5 минут для выполнения некоторых задач, связанных с календарем. Он должен искать в моих коллекциях Firestore и делает это с помощью запроса .get (). Это работало нормально до примерно 2020-03-13 утра, когда функция начала выдавать

2020-03-13 09:36:02.326 CET scheduledHooks 1042277797598294
Error: INTERNAL ERROR: Client is not yet ready to issue requests. 
at Firestore.get projectId [as projectId] (/srv/functions/node_modules/@google-cloud/firestore/build/src/index.js:401:19) 
at Query.toProto (/srv/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1556:42)     at Query._get (/srv/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1466:30) 
at Query.get (/srv/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1457:21) 
at FirebaseActivitiesCollection.<anonymous> (/srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:32:40) 
at Generator.next (<anonymous>) at /srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:8:71 
at new Promise (<anonymous>) at __awaiter (/srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:4:12) 
at FirebaseActivitiesCollection.getActivitiesByInterval (/srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:27:16)

Я не могу отследить, что я что-то изменил, может быть, Firebase внесла некоторые изменения, которые Я должен знать или я упускаю очевидную подсказку в этом сообщении об ошибке?

Мои другие облачные функции и Firebase JavaScript SDK по-прежнему работают нормально.

Дополнительная информация: тот же код работает в моей другой среде, где я не развернул. Это, конечно, привело меня к поиску изменений в развернутом коде, но я не могу их найти!?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Это оказалось очень простым вопросом инициализации Firebase:

Раньше у меня было:

// Initialize firebase
admin.initializeApp(functions.config().firebase)

.. И оно работало нормально, пока не перестало.

Теперь у меня есть:

// Initialize firebase
admin.initializeApp()

... И снова работает

0 голосов
/ 14 марта 2020

По ошибке кажется, что проект не был правильно подключен и инициализирован. Согласно официальному API здесь эта ошибка возникает, когда:

Возвращает идентификатор проекта для этого экземпляра Firestore. Проверяет, что initializeIfNeeded() был вызван ранее.

Я бы порекомендовал вам проверить это. Если вы все еще сталкиваетесь, я бы попросил вас связаться с Firebase Free Support . Поскольку вы упомянули, что он работал до вчерашнего утра, возможно, с их стороны могут произойти некоторые изменения.

Надеюсь, это поможет!

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