배지는 하루에 한 번만 지급됩니다.
명령줄에서 지급 과정을 “지금” 바로 예약하거나 강제할 수 있는 방법이 있을까요?
가장 쉬운 방법은 /sidekiq/scheduler를 방문하여 이름에 "grant"라는 단어가 포함된 작업을 찾는 것입니다. 아마도 Jobs::BadgeGrant를 원할 가능성이 높지만, 일부 배지는 자체 작업을 가질 수 있습니다.
지금부터 24시간 이내의 모든 예약된 sidekiq 작업을 확인해 보았지만, grant 토큰이 포함된 작업은 없었습니다.
현재 프로덕션 환경(forum.kozovod.com)에서 확인 중입니다.
맞습니다. 스크린샷처럼 해당 항목이 없습니다.
방금 장시간 동안 배지가 발급되지 않았다는 사실을 알아차렸습니다. 이제 컨테이너를 재구성하고 재시작 후 태스크가 예약되는지 확인하겠습니다.
또한, 제 커스텀 SQL 배지 중 하나가 오류를 내고 있었는데, 이것이 다른 모든 배지가 작동하지 못하게 만드는 원인이 될 수 있을까요?
이론적으로는 아닙니다.
가장 가능성 있는 원인은 docker-manager 업데이트가 잘못되어 일부 sidekiq 작업이 로드되지 못한 것 같습니다. 재빌드 후에는 정상적으로 작동할 것으로 기대합니다.
네, 재빌드가 잘 완료되었습니다.
하지만 완료 후 몇 분이 지났는데도, 125개 이상의 예약 작업 중 어디에서도 grant 토큰을 찾을 수 없습니다. 제 설정에 문제가 있는 걸까요?
네, 그럴 가능성이 높습니다. /logs에 오류가 있나요? 특이한 플러그인이 있나요?
명백한 문제는 보이지 않습니다. 콘솔에 들어가서 Jobs::BadgeGrant를 입력하면 어떻게 되나요? 다음과 같이 보여야 합니다:
[1] pry(main)> Jobs::BadgeGrant
=> Jobs::BadgeGrant
간섭을 일으킬 수 있는 플러그인이 있나요?
아래는 활성화된 플러그인 목록입니다. 인기 있고 지원되는 것만 사용하려고 합니다:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-staff-notes.git
- git clone https://github.com/joebuhlig/discourse-feature-voting.git
- git clone https://github.com/discourse/discourse-checklist.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-saved-searches.git
- git clone https://github.com/discourse/discourse-canned-replies.git
- git clone https://github.com/discourse/discourse-assign.git
- git clone https://github.com/discourse/discourse-bbcode.git
- git clone https://github.com/angusmcleod/discourse-locations.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/angusmcleod/discourse-custom-wizard.git
감사합니다.
Scheduler 아래에서 이제 다음 항목들을 볼 수 있습니다:
- Jobs::GrantNewUserOfTheMonthBadges
- Jobs::GrantAnniversaryBadges
- Jobs::BadgeGrant
모든 Scheduler 작업은 “Recurring Jobs” 섹션에 표시됩니다.
이제 “Trigger” 버튼을 클릭해서 결과를 확인해도 안전한가요?
아, 다행이네요 - 그러면 해결하기 훨씬 간단해지겠네요!
네, 트리거 버튼은 안전합니다 ![]()
감사합니다. 이제 실행 중입니다.
지난번에는 10,000초가 걸렸으니 내일 아침에 다시 확인해 보겠습니다.
특정 배지 하나만 처리할 수 있는 방법이 있을까요? 혹시 명령줄에서 가능할까요?
10,000초는 꽤 긴 시간입니다! 메타에서는 500초가 소요됩니다. 혹시 사용자 지정 배지 쿼리가 비효율적인 것은 아닌가요? (이것이 기본 설정에서 사용자 지정 SQL 기능을 비활성화하는 이유입니다)
감사합니다. 쿼리를 빠르게 검토해서 하나를 조금 수정했는데, 이제 약 1초밖에 걸리지 않습니다. 또한 SQL 최적화에 대한 질문을 별도의 토픽에 크로스포스팅했습니다.
배지 문제로 돌아가면, 이제 정상 작동하며 모든 배지가 지급되었습니다. 도움과 빠른 답변에 감사드립니다.



