uni-app unicloud 前端调用 较高的几率返回错误问题

uni-app unicloud 前端调用 较高的几率返回错误问题

操作步骤:

  • 使用unicloud前端组件和jql语法请求

预期结果:

  • 正常返回数据

实际结果:

  • 较高的概率返回如图错误

bug描述:

项目的app端(只有安卓和ios平台)使用uni-app,管理后台是用 unicloud admin 搭建的,请求方式都是前端直接查询数据库。经过长达两个多月的使用和观察,前端几乎所有的请求会有较高的概率返回错误,特别是间隔1~2小时,或者第二天早上请求,有极大的概率会返回错误,刷新后正常(正常后持续一段时间请求都没问题),错误信息主要为两种:

  1. 返回查询超时,需要根据文档优化查询性能,但查询的表数据(关联2个表)只有不到100条(多的表也只有2000条左右),查询和排序的字段都已经按文档要求添加索引;
  2. 返回400,但错误信息里返回 request:ok,这种情况除了查询会出现,add()或者update()时也会出现,表现为返回这个错误信息,但是数据add/update是成功的。

怀疑是冷启动问题,但因为是前端直查数据库,且官方文档也没有这方面的说明,也没法像云函数那样在unicloud后台设置超时时间,在慢查询日志没有任何记录。 这期间为了解决这个问题,已经翻遍了官方文档,目前都没有解决,如果还有其他办法,麻烦告知。

图片

Image 1 Image 2


更多关于uni-app unicloud 前端调用 较高的几率返回错误问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

23 回复

在云函数日志里面找一下后面一个错误对应的日志,发出来看看。另外那个有提示参考文档进行优化的看一下文档,对照你的代码数据库看看有没有优化空间

更多关于uni-app unicloud 前端调用 较高的几率返回错误问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


没想到按要求发日志出来看了,就没有下文了,有点失望。这个问题还一直存在,刚刚在社区里看到你们官方的人说unicloud只有腾讯云是稳定可靠的,难道是因为免费版的阿里云只适合用来写写demo玩玩?

回复 w***@163.com: 你上次上传schema或者uni-id是什么时间还记得吗?

回复 w@163.com: 回复 w@163.com: 帖子比较多难免有漏看的情况,建议加一下官方QQ群

回复 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: 阿里云再不商业化,就只能改代码用腾讯云了

回到顶部