1
私は、Firebaseのクラウド機能をFirebaseリアルタイムデータベースとともに使用して、アプリのデータ管理を行っています。ESOCKETTIMEDOUT Firebaseのクラウド機能
私の機能の1つは完了するのに約100-150秒かかるので、終了するようです。これはエラー:ESOCKETTIMEDOUT
で発生します。
これを防ぐ方法はありますか?ユーザーが好みを追加したとき
function getTopCarsForUserWithPreferences(userId, genres) {
const pathToCars = admin.database().ref('cars');
pathTocars.orderByChild("IsTop").equalTo(true).once("value").then(function(snapshot) {
return writeSuggestedCars(userId, genres, snapshot);
}).catch(reason => {
console.log(reason)
})
}
function writeSuggestedCars(userId, genres, snapshot) {
const carsToWrite = {};
var snapCount = 0
snapshot.forEach(function(carSnapshot) {
snapCount += 1
const carDict = carSnapshot.val();
const carGenres = carDict.taCarGenre;
const genre_one = genres[0];
const genre_two = genres[1];
if (carGenres[genre_one] === true ||carGenres[genre_two] == true) {
carsToWrite[carSnapshot.key] = carDict
}
if (snapshot.numChildren() - 1 == snapCount) {
const pathToSuggest = admin.database().ref('carsSuggested').child(userId);
pathToSuggest.set(carsToWrite).then(snap => {
}).catch(reason => {
console.log(reason)
});
}
});
}
getTopCarsForUserWithPreferences
が呼び出されます:
は、ここに私の関数です。また、cars
テーブルには約50,000のエントリがあります。