在线答题小程序线上生产问题解决复盘
发布于 3 年前 作者 zye 3321 次浏览 来自 分享

在线答题小程序线上生产问题解决复盘

~

这几天我一直在观察我最早开发第一个答题小程序的mp后台界面,的开发-开发管理-报错信息

因为我发现这个小程序虽然上线一年了,但是还多少有些报错信息,我想趁暑假把这块清零,具体截图如下所示

~

~

大家看到了吗

虽然不多,但是每天都有几个,我需要清理这个报错,初步计划是按报错次数,从多到少依次处理

但是我遇到了一个很大的麻烦,就是上图里面,1、4

我反复核对了下代码,都没有定位到问题,可以说很简单的逻辑,从逻辑层面根本定位不出,那怎么办呢

错误不会谎报的

解决方案

增加实时日志

在错误的地方把错误所对应的信息实时日志打出来

我是5号下午6点加的这个日志,今天摘果子来了

~

~

最后定位到是这个openid

oAalY4wB2YmjO2_eLDO7ZHXPsypI

那么看日志吧,从日志层面看看能发现什么蛛丝马迹

结果您别说

还真让我找到了,就是上面截图的最后这个 14:04:28,看到这个日志跟其他日志的区别了吗?

因为我输出的是以下三项

1、currentIndex

2、_openid

3、question

唯独这个实时日志没有question

那么问题就很清晰了

结论就是

在刚进错题页面的时候,由于数据加载需要时间,在数据未加载完成之前,用户就点了下一题,结果就造成了现在这个报错。

解决方案

下一题的按钮要通过控制逻辑展示,就是在加载完成之后才展示,而不是任由其发挥

~

说实话我跟进这个问题几天了,今天感觉像抓贼一样,有点兴奋

~

事后我就在分析,因为错题模块和收藏模块逻辑是一样的,为什么收藏没有报错,唯独错题报错了

我看了下数据,瞬时就明白了

~

第一个鹤立鸡群的集合notes就是错题集合,数据量太大了,因为之前也没有加索引所以在加载的时候会很慢

趁机会给这个集合加了索引

索引二个键

_openid

类别

这样就可以保证再进错题集合的时候丝滑般顺畅

1 回复

本文主要讲述了实时日志来配合解决线上生产的一些疑难杂症,后面已经是我的一个标配了

回到顶部