firebase - FireabaseAuth 频繁超时
问题描述
我有一个谷歌云功能,它确实对我的用户进行身份验证...该功能非常简单,它使用数据库验证发布参数并创建或不创建身份验证令牌然后响应客户端...
这个函数平均需要 200 毫秒来处理,但有时它会超时 [40 秒] 超时的调用百分比非常小 [我会说大约 1%] 但我仍然不知道为什么他们会超时
我每天大约有 10k 用户,高峰时同时有 3k 用户......但不要认为需求是这里的主要因素,因为这些超时也发生在高峰时间之外......
我花了很多时间尝试调试并找到原因,虽然非常困难,但我找到了导致它的函数
function authenticate(uid, newUser, res) {
auth.createCustomToken(uid).then(function(customToken) {
res.status(200).json({
t: customToken,
n: newUser
});
}).catch(function(error) {
console.error("Error creating custom token:" + JSON.stringify(error));
res.status(200).json({
e: error
});
});
}
我不会复制整个身份验证函数,因为它是一个长函数,虽然它的逻辑非常简单,但代码本身很大......而且我已经调试到足以知道问题来自这个函数调用
我检查了 firebase 仪表板,身份验证页面显示我有 270 万个 uid(我不知道这是否有问题)
即使使用相同的参数,我也试图重现这些超时但没有成功
说了这么多我想问...
1-有没有办法在谷歌云功能上捕捉功能超时?[即使调试它也非常困难,因为日志没有将超时归类为错误(谷歌工程师在想什么?)]
2-有谁知道可能导致这种情况的任何事情?
解决方案
推荐阅读
- java - Project Reactor - 如何处理来自 Flux.interval 的 OverflowException?
- c# - Gmail 错误:System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证
- javascript - 单击按钮时,按 ID 转到数据库中的下一个问题
- ios - SwiftUI:使用数据库连接实现评级视图
- python - 为什么将默认参数设置为空列表后,函数中的变量仍保留该值?
- hadoop - HDFS 授权异常
- python - Pyglet:大数效率:更新顶点与opengl矩阵
- c# - IoTdataClient Xamarin 的 AWS Cognito 凭证
- django - 如何重置表的ID(Django)
- java - 通过实例引用访问的静态成员(使用 'this' 关键字)