Firebase И Firestore, и RTDB Runtransaction так медленное 2-5 минутJavascript

Форум по Javascript
Ответить
Anonymous
 Firebase И Firestore, и RTDB Runtransaction так медленное 2-5 минут

Сообщение Anonymous »

Транзакция Firestore занимает 2 минуты. Я просто изменил все это без транзакций, и это выполняется в течение нескольких секунд. Но кажется, что проблема заключается в том, что Firestore позволяет выполнять транзакцию только от транзакции корня и RTDB, начиная с близкого до корня, вызывает это, хотя у меня не так много пользователей. Я очень уверен, что это ошибка Firebase. В то же время единственным решением, кажется, не использовать транзакции, когда вы делаете много вещей. Я использую лишь некоторые манипуляции с данными, например, перемещать их и переживать их. Я использую второе поколение облачных функций. < /P>
import * as admin from 'firebase-admin'
await admin.firestore().runTransaction(async (t) => {
< /code>
Для RTDB я использую транзакцию в довольно высоко в дереве и получаю объекты, а затем создаю новый объект. Я пытался использовать транзакцию, но если я сделаю это, функция занимает несколько минут, поэтому у меня не было выбора, кроме как не использовать транзакцию. < /P>
Коды Firestore: < /p>
await admin.firestore().runTransaction(async (t) => {
const document = await t.get(truthRef);
if (document.data() !== undefined) {
const firestorePromises: any = []
// change data of this first room to contain more data blah blah blah
firestorePromises.push(admin.firestore().collection("a").doc(b).set(c).then( () => {
const firestoreInnerPromises = [];
firestoreInnerPromises.push(admin.firestore().collection("a").doc(b).update({
messages: allMessagesHistory
}))
firestoreInnerPromises.push(oldTruthHistoryRef.delete());
return Promise.all(firestoreInnerPromises)
}));
return Promise.all(firestorePromises); // also tried to do await here

}

});


Подробнее здесь: https://stackoverflow.com/questions/796 ... -5-minutes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»