1. 现象

最近对知识竞赛答题小程序进行了重构,设置了与服务器时间对齐功能。

  • 通过云函数获取服务器时间,与本地时间差在5秒之间(考虑手机均实时校对时间,阈值设得相对较小)
  • 开始按钮对时间差进行核对

出现的现象有:

  • 用户表users记录多,成绩表scores记录少
  • 成绩表scores中有些无使用记录

疑问:进入小程序后,为何不使用?

2. 排查

初步考虑是云函数冷启动导致。测试:

  • 早起,删除小程序,清空本地数据
  • 重新打开小程序,出现时间差超过阈值,阻止进入功能页,因此无成绩scores记录
    云函数引发bug

3. 原因及修复

首先明确,正常情况下,云服务器的时间与本地时间差在200毫秒以内,甚至更少。

原因:云函数冷启动,可能需要3-5秒的时间,而阈值设得太小。

修复:在调大阈值的同时,还发现另一个小bug,一并修复。

问题:能否实现定时刷新云函数,保证最小使用次数又能激活云函数。

欢迎体验云知识竞赛小程序:)

云知识竞赛小程序