uni-app unicloud 前端调用 较高的几率返回错误问题
uni-app unicloud 前端调用 较高的几率返回错误问题
操作步骤:
- 使用unicloud前端组件和jql语法请求
预期结果:
- 正常返回数据
实际结果:
- 较高的概率返回如图错误
bug描述:
项目的app端(只有安卓和ios平台)使用uni-app,管理后台是用 unicloud admin 搭建的,请求方式都是前端直接查询数据库。经过长达两个多月的使用和观察,前端几乎所有的请求会有较高的概率返回错误,特别是间隔1~2小时,或者第二天早上请求,有极大的概率会返回错误,刷新后正常(正常后持续一段时间请求都没问题),错误信息主要为两种:
- 返回查询超时,需要根据文档优化查询性能,但查询的表数据(关联2个表)只有不到100条(多的表也只有2000条左右),查询和排序的字段都已经按文档要求添加索引;
- 返回400,但错误信息里返回 request:ok,这种情况除了查询会出现,add()或者update()时也会出现,表现为返回这个错误信息,但是数据add/update是成功的。
怀疑是冷启动问题,但因为是前端直查数据库,且官方文档也没有这方面的说明,也没法像云函数那样在unicloud后台设置超时时间,在慢查询日志没有任何记录。 这期间为了解决这个问题,已经翻遍了官方文档,目前都没有解决,如果还有其他办法,麻烦告知。
图片

更多关于uni-app unicloud 前端调用 较高的几率返回错误问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在云函数日志里面找一下后面一个错误对应的日志,发出来看看。另外那个有提示参考文档进行优化的看一下文档,对照你的代码数据库看看有没有优化空间
更多关于uni-app unicloud 前端调用 较高的几率返回错误问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
没想到按要求发日志出来看了,就没有下文了,有点失望。这个问题还一直存在,刚刚在社区里看到你们官方的人说unicloud只有腾讯云是稳定可靠的,难道是因为免费版的阿里云只适合用来写写demo玩玩?
回复 w***@163.com: 你上次上传schema或者uni-id是什么时间还记得吗?
回复 w***@163.com: 另外clientDB权限校验也会查一次库,看一下你得权限怎么配置的
回复 DCloud_uniCloud_WYQ: 上传schema具体时间不记得了,最近一次在一周前,uni-id是基本没动过。read权限除了true,就是 doc.status==0 这种,最复杂也就是 doc.status+ uid 一起。但我的问题描述得很详细,你有可能忘记看了,这个问题我观察了很长时间,出错的关键是一段时间没有请求了,比如早上登录后初次加载列表,有很大的概率会报错,加载成功后,持续一段时间都会没问题。这和冷启动超时很像。
回复 w***@163.com: 我把你的requestId发给阿里那边看看吧,不太好确定原因
回复 w***@163.com: 服务空间id可以私聊发我一下
回复 DCloud_uniCloud_WYQ: 昨天想发私信空间id,提示让我先去改头像和昵称才能发,去改昵称提示我改不了…这体验也是够糟糕,今天试了还是一样
回复 w***@163.com: 那今天还出现超时问题吗?可以加我QQ 2292434668
回复 w***@163.com: 没法发私信的问题我让同事看下
回复 DCloud_uniCloud_WYQ: 已经发送qq验证了,现在还没通过,麻烦看一下
请求响应状态: success
请求入参: {
“args”: {
“command”: {
“$db”: [
{
“$method”: “collection”,
“$param”: [
“guitar-app-versions”
]
},
{
“$method”: “orderBy”,
“$param”: [
“addtime desc”
]
},
{
“$method”: “skip”,
“$param”: [
0
]
},
{
“$method”: “limit”,
“$param”: [
10
]
},
{
“$method”: “get”,
“$param”: [
{
“getCount”: true
}
]
}
]
},
“clientInfo”: {
“PLATFORM”: “h5”,
“OS”: “mac”,
“APPID”: “UNI0B069BF”,
“LOCALE”: “zh-Hans”,
“DEVICEID”: “1625801283388571645”,
“CLIENT_SDK_VERSION”: “1.0.14”
},
“uniIdToken”: “token内容我手动删掉了”
},
“requestId”: “ac1408181640243877469175787”
}
上面是刷了几遍又出来的,对应的控制台内容是图片
补充,上面这个表只有7条数据,出错后,再次刷新正常
另外关于查询优化的那个错误,已经按文档要求都尝试过了,问题仍然没有改善,而且很多新建的表只有几条数据的,也会出现这种情况。
用的阿里云的嘛?
是阿里云,你也遇到了吗,我很奇怪,难道这个问题只有我们遇到了?因为已经持续很长时间了
遇到了同样的问题 很不稳定
我也遇到了! 我看了社区反馈这个问题的 都是联表查询的多 !我这边的问题也是表现为 早上的查询或者很长一段时间就会报这个错! 解决思路是写给定时器定时执行不知道会不会暂时解决
要优化联表查询!我优化后!很少超时了!好了好多!但还会有小概率会报错,但比之前好多了!还在优化中!看看是哪些问题!能不能彻底解决!现用的阿里云
+1,表里就一条数据,也会报查询超时
这个我感觉是冷启动和阿里云给的查询时间太少的问题
回复 3***@qq.com: 阿里云再不商业化,就只能改代码用腾讯云了

