关于 7 月 31 日 AppSo 应用的部分用户收到重复推送的说明及致歉

7 月 31 日下午,我们收到爱范儿团队的通知了解到他们发布的 AppSo 应用部分用户在中午 12 点之后的半小时里收到了多至 27 次的重复推送通知。我们的工程师在当天下午定位了故障原因:我们在给大量用户推送时会遍历数据库来逐批发送推送,在这个过程中如果有已发送推送的设备记录发生更新,就可能再次出现在遍历过程中,更详细的技术性说明可以参考 StackOverflow 的这篇帖子 。触发这个条件的情况非常少见,但导致了这次推送故障。目前我们已经实现了防止类似情况发生的措施。

这次故障打扰了 AppSo 的很多用户,并给 AppSo 运营团队的工作带来了困扰。我们在此向他们诚挚道歉。

关于 7 月 31 日 AppSo 应用的部分用户收到重复推送的说明及致歉》上有1条评论

  1. yunzhou.wu

    这个问题大概就是数据库遍历的时候,使用了可变的 order by 字段
    也就是遍历过的数据,数据改变,可能还会被遍历
    另一个更严重的问题是,可能有些数据直接被忽略了

    所以遍历的时候,需要考虑到该 order by 字段是只读,并且新创建的是递增
    类似 order by id asc,order by created asc

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注