Существует ли ограничение на количество запросов на отправку HTTP-запроса от Google Cloud Functions? - PullRequest
0 голосов
/ 11 июня 2019

Я работаю с облачной функцией Firebase. Моя функция срабатывает каждые 5 минут. Когда моя функция запущена, моя функция отправляет HTTP-запрос на внешние сайты. Если количество сайтов меньше 10, все в порядке. Но когда количество веб-сайтов превышает 10, возникает ошибка тайм-аута. Вы можете объяснить, почему? любое решение? см. ниже код.

const functions = require('firebase-functions');
admin.initializeApp();
const rp = require('request-promise');

exports.scheduledFunction = functions.pubsub.schedule('*/5 * * * *')
    .timeZone("Asia/Tokyo").onRun((context) => {

    // URLs  
    const urlArray = ['http://a.com', /* ..... */, 'http://z.com']; // total 25 urls.

    function getDataFromUrl(){
        const promises = []
        var   N = 10     // if N<=10 working well, but if N>10 not working
        for(var i=0; i<N; i++){              
            promises.push(rp.get(urlArray[i]))
        }
        return Promise.all(promises)
    }

    return getDataFromUrl().then(results =>{
        results.forEach(result=>{
            // do something
        })
    })

}

1 Ответ

0 голосов
/ 11 июня 2019

Поскольку мы не можем сравнить ваш код для вас или наблюдать за его поведением, единственный логичный ответ заключается в том, что по крайней мере одно из десяти занимает больше времени, чем настроенное вами время ожидания, что приводит к сбою всего набора обещаний при отправкедо Promise.all().Попробуйте увеличить время ожидания для этой функции.

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