我试图在循环中多次从前端JS调用GCF。但是每个实际的功能启动(根据日志)都是随机延迟的。
与X#个GCF实例同时旋转相反。
我尝试将我的应用简化为Hello World测试用例,以首先解决此问题。
前端执行(100x)
for (i=0; i<100; i++) {
postData("https://us-central1-api-project-879174689499.cloudfunctions.net/delay-test").then(output => {console.log(output);});
}
Google Cloud Function
exports.helloWorld = async (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
await sleep(5000);
res.status(200).send(message);
};
function sleep(ms){
return new Promise(resolve=>{
setTimeout(resolve,ms)
})
}
这是控制台输出(请注意时间戳):
https://i.imgur.com/SqeN57q.png
以下是开发工具日志,以证明请求几乎同时发生:
这是Google控制台日志(在调用函数后随机开始):