# 명령줄로 모든 배지를 강제로 부여하는 방법?

**URL:** https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960
**Category:** Support
**Tags:** badges
**Created:** [1월 7, 2020, 12:14오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960 "2020-01-07T12:14:06Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 12:14오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/1 "2020-01-07T12:14:07Z")

</div>

배지는 하루에 한 번만 지급됩니다.  
명령줄에서 지급 과정을 “지금” 바로 예약하거나 강제할 수 있는 방법이 있을까요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 12:15오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/2 "2020-01-07T12:15:10Z")

</div>

가장 쉬운 방법은 `/sidekiq/scheduler`를 방문하여 이름에 "grant"라는 단어가 포함된 작업을 찾는 것입니다. 아마도 `Jobs::BadgeGrant`를 원할 가능성이 높지만, 일부 배지는 자체 작업을 가질 수 있습니다.

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 12:18오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/3 "2020-01-07T12:18:34Z")

</div>

지금부터 24시간 이내의 모든 예약된 sidekiq 작업을 확인해 보았지만, `grant` 토큰이 포함된 작업은 없었습니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 12:20오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/4 "2020-01-07T12:20:54Z")

</div>

아… 이상하네요. 이런 줄을 못 보시는 건가요?

 ![Screenshot 2020-01-07 at 12.20.26](https://global.discourse-cdn.com/meta/original/3X/2/c/2cee9b0479e5c042a13e76abbed820b0d1e5f9e3.png)

이것은 개발 서버인가요, 아니면 프로덕션 서버인가요?

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 12:26오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/5 "2020-01-07T12:26:39Z")

</div>

현재 프로덕션 환경([forum.kozovod.com](http://forum.kozovod.com))에서 확인 중입니다.  
맞습니다. 스크린샷처럼 해당 항목이 없습니다.

방금 장시간 동안 배지가 발급되지 않았다는 사실을 알아차렸습니다. 이제 컨테이너를 재구성하고 재시작 후 태스크가 예약되는지 확인하겠습니다.

또한, 제 커스텀 SQL 배지 중 하나가 오류를 내고 있었는데, 이것이 다른 모든 배지가 작동하지 못하게 만드는 원인이 될 수 있을까요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 12:33오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/6 "2020-01-07T12:33:03Z")

</div>

> [@meglio](#):
>
> 참고로, 제 커스텀 SQL 배지 중 하나에 오류가 있다는 걸 발견했어요. 이 오류가 다른 배지들의 작동까지 멈추게 할 수 있을까요?

이론적으로는 아닙니다.

가장 가능성 있는 원인은 docker-manager 업데이트가 잘못되어 일부 sidekiq 작업이 로드되지 못한 것 같습니다. 재빌드 후에는 정상적으로 작동할 것으로 기대합니다.

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 12:38오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/7 "2020-01-07T12:38:07Z")

</div>

네, 재빌드가 잘 완료되었습니다.

하지만 완료 후 몇 분이 지났는데도, 125개 이상의 예약 작업 중 어디에서도 `grant` 토큰을 찾을 수 없습니다. 제 설정에 문제가 있는 걸까요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 12:38오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/8 "2020-01-07T12:38:44Z")

</div>

네, 그럴 가능성이 높습니다. `/logs`에 오류가 있나요? 특이한 플러그인이 있나요?

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 12:44오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/9 "2020-01-07T12:44:51Z")

</div>

음, 최근 약 20분 동안은 치명적인 문제가 없었습니다:

 ![image](https://global.discourse-cdn.com/meta/original/3X/7/f/7f8803193cc6ed9f751c187499e625a597ddbacf.png)

배지 실행/스케줄링을 깨뜨릴 수 있는 의심스러운 부분이 보이나요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 12:50오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/10 "2020-01-07T12:50:15Z")

</div>

명백한 문제는 보이지 않습니다. 콘솔에 들어가서 `Jobs::BadgeGrant`를 입력하면 어떻게 되나요? 다음과 같이 보여야 합니다:

```plaintext
[1] pry(main)> Jobs::BadgeGrant
=> Jobs::BadgeGrant

```

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 12:59오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/12 "2020-01-07T12:59:17Z")

</div>

자, 이제 말씀드리겠습니다:

 ![image](https://global.discourse-cdn.com/meta/original/3X/6/2/62502c59a9b806d00ed9e321dfc9136289cc92eb.png)

그 후로 /logs에 새로운 오류가 발생하지 않았습니다.

`grant` 토큰이 포함된 새로운 항목도 /sidekiq/scheduled에 없습니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 1:03오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/13 "2020-01-07T13:03:26Z")

</div>

간섭을 일으킬 수 있는 플러그인이 있나요?

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 1:06오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/14 "2020-01-07T13:06:25Z")

</div>

아래는 활성화된 플러그인 목록입니다. 인기 있고 지원되는 것만 사용하려고 합니다:

```plaintext
          - 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

```

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 1:13오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/15 "2020-01-07T13:13:23Z")

</div>

> [@megaglio](#):
>
> 지금부터 24시간 이내의 사이드킥(Sidekiq) 예약 작업

확인차 묻습니다. “Scheduled” 탭을 보고 계신 건가요, 아니면 “Scheduler” 탭을 보고 계신 건가요? 배지 작업은 **Scheduler** 아래에 있어야 합니다.

(참고: 그 명명법이 정말 혼란스럽네요!)

 ![Screenshot 2020-01-07 at 13.12.15](https://global.discourse-cdn.com/meta/original/3X/f/6/f629b5f09f4b3349e8a1ffff413311c1e3096682.png)

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 1:16오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/16 "2020-01-07T13:16:54Z")

</div>

감사합니다.  
Scheduler 아래에서 이제 다음 항목들을 볼 수 있습니다:

- Jobs::GrantNewUserOfTheMonthBadges
- Jobs::GrantAnniversaryBadges
- Jobs::BadgeGrant

모든 Scheduler 작업은 “Recurring Jobs” 섹션에 표시됩니다.

이제 “Trigger” 버튼을 클릭해서 결과를 확인해도 안전한가요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 1:31오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/17 "2020-01-07T13:31:54Z")

</div>

아, 다행이네요 - 그러면 해결하기 훨씬 간단해지겠네요!

네, 트리거 버튼은 안전합니다 🙂

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 1:33오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/18 "2020-01-07T13:33:38Z")

</div>

감사합니다. 이제 실행 중입니다.

지난번에는 10,000초가 걸렸으니 내일 아침에 다시 확인해 보겠습니다.

특정 배지 하나만 처리할 수 있는 방법이 있을까요? 혹시 명령줄에서 가능할까요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [1월 7, 2020, 1:38오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/19 "2020-01-07T13:38:33Z")

</div>

10,000초는 꽤 긴 시간입니다! 메타에서는 500초가 소요됩니다. 혹시 사용자 지정 배지 쿼리가 비효율적인 것은 아닌가요? (이것이 기본 설정에서 사용자 지정 SQL 기능을 비활성화하는 이유입니다)

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [1월 7, 2020, 1:57오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/20 "2020-01-07T13:57:50Z")

</div>

감사합니다. 쿼리를 빠르게 검토해서 하나를 조금 수정했는데, 이제 약 1초밖에 걸리지 않습니다. 또한 SQL 최적화에 대한 질문을 별도의 토픽에 크로스포스팅했습니다.

배지 문제로 돌아가면, 이제 정상 작동하며 모든 배지가 지급되었습니다. 도움과 빠른 답변에 감사드립니다.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [11월 2, 2023, 12:26오후 UTC](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960/21 "2023-11-02T12:26:48Z")

</div>



[다음 페이지](https://meta.discourse.org/t/how-to-force-grant-all-badges-from-command-line/137960.md?page=2)
