일부 기념일 배지가 마지막 기념일 배지 수여 후 하루 및 1년 뒤에 지급됩니다

사용자가 기념일 배지의 동작이 이상하다는 점을 발견했습니다. 이 배지는 마지막 기념일 배지가 수여된 지 정확히 1년 후 하루에 수여됩니다. 이것이 의도된 동작인지 확실하지 않습니다.

4개의 좋아요

버그는 맞지만, PR을 환영하는 유형 중 하나라고 생각합니다. 우리의 설계는 다음과 같습니다:

  1. 하루에 한 번, 기념일 배지를 부여할 새로운 사람들을 찾아냅니다.
  2. 지난 1년 동안 기념일 배지를 받지 않은 사람들만 대상으로 합니다.

문제는 … 이 작업이 하루에 한 번 임의의 시간에 실행된다는 점입니다. 즉, 이 작업은 항상 늦게 실행되며, 때로는 1시간, 때로는 23시간까지 늦어질 수 있습니다.

하루에 한 번만 배지를 부여하는 점을 고려하면, 로직을 다음과 같이 변경해야 합니다:

  1. 후보자 찾기
  2. end_date를 사용하는 대신 created_at:을 올바른 오프셋으로 설정

어려운 수정은 아니지만, 다소 까다로운 작업입니다.

2개의 좋아요

여기서 PR(첫 번째!)을 열었습니다: FIX: Ensure subsequent Anniversary badges are granted on a user's anniversary date - Pull Request #28979 - discourse/discourse - GitHub

2개의 좋아요