연간 리뷰 백그라운드 작업이 하루 두 번 실행되나요?

이건 단순히 외관상의 문제일 뿐이고, 나는 그저 궁금해서 묻는 거예요.

  • Jobs::YearlyReview가 정말로 하루 두 번 실행되도록 설정되어 있나요?
  • 시간은 마지막 시도부터 계산되나요?

시간이 오전 9:44였고, 완료된 지 14시간이 지난 상태였습니다. 다음 시도는 10시간 후, 즉 오후 7:44쯤이 될 거예요. 크론(cron)이 작동하는 방식이라면 자정 직후에 한 번, 그리고 1년에 한 번 실행될 거라고 기대했습니다.

해당 잡은 1월 동안 24시간마다 한 번씩 실행되도록 예약되어 있습니다: discourse-yearly-review/app/jobs/yearly_review.rb at main · discourse/discourse-yearly-review · GitHub. 사이트에서 리뷰 토픽의 제목과 일치하는 제목을 가진 토픽이 발견되면, 해당 잡은 다시 실행되지 않습니다. 이는 리뷰 토픽이 생성된 후 제목을 수정하지 않는 한, 리뷰 토픽이 단 하나만 생성된다는 것을 의미합니다.

적절한 토픽을 찾을 때까지 31번 반복되는 것이 일종의 안전장치(fail-safe)인가요? 아니면 여기서 언어 장벽이 있는 건가요? 후자일 가능성도 높습니다 :rofl:

그런데… 저는 아직도 타임스탬프가 이해가 되지 않습니다. 1월 1일 오전 9시 44분에 sidekiq가 YearlyReview가 14시간 전인 12월 31일에 트리거되었다고 알려주더라고요.

다시 말하지만, 이건 전혀 문제가 아닙니다. 그냥 너무 시간이 많아서 이해하려고 노력하고 있는 거예요.

하지만 만약 사용자들이 이 귀중한 통계 정보를 받기 위해 10시간 더 기다려야 한다면 꽤 불안해할 겁니다. 뭐, sidekick을 어떻게 재촉하는지는 알거든요. 그래서 문제 해결 완료 :wink:

네, 해당 기능은 잡(job)이 1월 1일 이후에 실수로 실행되는 것을 방지하기 위해 존재합니다. 단, 콘솔에서 force: true 인수를 사용하여 잡을 트리거하면 1월 이후에도 리뷰 토픽이 생성될 수 있습니다.

정말 필요한가요? 저는 몇몇 인스턴스에서 중복된 주제를 삭제하고 플러그인을 비활성화해야 했습니다. 큰 문제는 아니지만, 이렇게까지 할 필요는 없어 보입니다.

새해 연휴 기간에는 관리자가 며칠 동안 인스턴스를 떠나 있는 경우가 많습니다. 이 경우, 플러그인이 깔끔하고 집중된 비공개 카테고리로 지정되어 있지 않으면 이상적인 상황이 아닙니다.