Будут ли проблемы с несколькими облачными функциями для одного и того же триггера? #AskFirebase - PullRequest
0 голосов
/ 02 ноября 2018

Следует ли консолидировать облачные функции для каждого триггера, или можно написать несколько функций для одного и того же триггера? В частности, если я читаю документы внутри ... Существуют ли существенные последствия для производительности или выставления счетов?

// Example: multiple onWrite functions triggered by the same Firestore doc path
functions.firestore.document('myCollection/{itemId}').onWrite((change, context) => {
   // do one complex thing, potentially reading/writing data
}

functions.firestore.document('myCollection/{itemId}').onWrite((change, context) => {
   // do another complex thing, potentially reading/writing the same or different data
}

или ...

// Example: one trigger and a monolithic function handling everything...
functions.firestore.document('myCollection/{itemId}').onWrite(async (change, context) => {
   const otherDataSnapshot = await admin.firestore().ref('myPath').once('value').then();
   this.doOneComplexThing(change, context, otherDataSnapshot);
   this.doAnotherComplexThing(change, context, otherDataSnapshot);
}

const doOneComplexThing = (change, context, otherDataSnapshot) => {
   // do one complex thing
}

const doAnotherComplexThing = (change, context, otherDataSnapshot) => {
   // do that other complex thing
}

AskFirebase

1 Ответ

0 голосов
/ 03 ноября 2018

Если у вас есть три триггера функций вместо одного, вам будет выставлен счет за два вызова для каждого onWrite, а не только для одного. Это всегда будет дороже. Могут быть веские причины для его разделения, которые делают целесообразным его разделение, поэтому вам придется решить это для вашего конкретного случая.

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