一些周年徽章在最后一个周年徽章后一天天和一年后颁发

这是一个 bug,但我认为这是一个“欢迎 PR”的 bug。我们的设计是:

  1. 每天我们会寻找新用户来授予周年纪念徽章。
  2. 我们只考虑在过去一年中获得周年纪念徽章的用户。

问题是……这个任务每天只运行一次,而且是在一个任意的时间点运行。这意味着任务总是会延迟,有时延迟一小时,有时延迟 23 小时。

鉴于我们每天只授予一次徽章,我们需要将逻辑更改为:

  1. 寻找候选人
  2. 设置 created_at: 为正确的偏移量,而不是使用 end_date

这并非不可能修复,但有些棘手。

2 个赞