# Sidekiq 실행되지 않음. Sidekiq 하트비트 테스트 실패, 재시작 중

**URL:** https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326
**Category:** Self-hosting
**Tags:** unsupported-install
**Created:** [3월 31, 2020, 6:51오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326 "2020-03-31T18:51:44Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [3월 31, 2020, 6:51오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/1 "2020-03-31T18:51:44Z")

</div>

Redis를 플러시하거나 업데이트하는 방식으로 이 문제를 해결할 수 있을지 궁금합니다. 지난 8개월 이상 건드리지 않았거든요. 저는 개인적으로 Redis를 다뤄본 적이 없지만, 저희의 Tests-Pass Discourse 인스턴스는 현재 이 포럼에서 권장되는 [Discourse Docker](https://github.com/discourse/discourse_docker)가 아니라 [local\_discourse](https://hub.docker.com/r/zhiliangxu/local_discourse)를 사용하여 설정되었습니다. 제가 겪고 있는 문제는 사용자에게 이메일이 전송되지 않는 것과 관련이 있습니다. 도움과 조언을 부탁드립니다!

> Sidekiq이 실행되지 않고 있습니다. 이메일 전송과 같은 많은 작업은 sidekiq에 의해 비동기적으로 실행됩니다. 적어도 하나의 sidekiq 프로세스가 실행 중인지 확인하십시오.

> Sidekiq 하트비트 테스트 실패, 재시작 중

```
config/unicorn.conf.rb:147:in `check_sidekiq_heartbeat
config/unicorn.conf.rb:164:in `master_sleep'
unicorn-5.5.4/lib/unicorn/http_server.rb:296:in `join'
unicorn-5.5.4/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'

```

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [3월 31, 2020, 7:31오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/2 "2020-03-31T19:31:53Z")

</div>

마이그레이트가 합리적이라면, 제안에 열려 있습니다.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [3월 31, 2020, 7:42오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/3 "2020-03-31T19:42:30Z")

</div>

현재 설치 환경의 백업을 만들고, [Discourse 공식 표준 설치 가이드](https://meta.discourse.org/t/discourse-official-standard-installation/142537)에 따라 완전히 새로운 설치를 진행하는 것을 권장합니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3월 31, 2020, 9:22오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/4 "2020-03-31T21:22:29Z")

</div>

> [@sunjam](#):
>
> 하지만 저희 Tests-Pass Discourse 인스턴스는 현재 이 포럼에서 권장되는 [Discourse Docker](https://github.com/discourse/discourse_docker)가 아닌 [local\_discourse](https://hub.docker.com/r/zhiliangxu/local_discourse)를 사용하여 설정되었습니다.

최소 지난 4년 동안 권장되어 온 방식입니다.

라파엘의 제안을 두 번째로 지지합니다.

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [4월 2, 2020, 3:22오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/5 "2020-04-02T15:22:11Z")

</div>

redis 컨테이너를 재구축하거나 재시작하기 위해 launcher를 사용하는 것이 도움이 될까요?

> 사용법: launcher COMMAND CONFIG [–skip-prereqs] [–docker-args STRING]  
> 명령어:  
> start: 컨테이너 시작/초기화  
> stop: 실행 중인 컨테이너 중지  
> restart: 컨테이너 재시작  
> destroy: 컨테이너 중지 및 삭제  
> enter: 컨테이너 내부에서 명령어를 실행하기 위해 셸 열기  
> logs: 컨테이너의 Docker 로그 보기  
> bootstrap: 템플릿을 기반으로 설정에 따라 컨테이너 부트스트랩  
> run: 마지막에 부트스트랩된 이미지의 컨텍스트에서 설정과 함께 지정된 명령어 실행  
> rebuild: 컨테이너 재구축 (기존 컨테이너 삭제, 부트스트랩, 새 컨테이너 시작)  
> cleanup: 24시간 이상 중지된 모든 컨테이너 삭제  
> start-cmd: 컨테이너 시작에 사용되는 docker 명령어 생성
> 
> 옵션:  
> –skip-prereqs launcher 사전 요구 사항 확인 안 함  
> –docker-args docker 실행 시 전달할 추가 인자  
> –skip-mac-address MAC 주소 할당 안 함  
> –run-image 컨테이너 실행에 사용되는 이미지 재정의

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4월 2, 2020, 3:37오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/6 "2020-04-02T15:37:26Z")

</div>

[Discourse 공식 표준 설치](https://meta.discourse.org/t/discourse-official-standard-installation/142537) 가이드에 따라 설치하셨나요, 아니면 다른 방식으로 설치하셨나요? 표준 설치 환경이라면 `./launcher rebuild app` 명령을 실행하면 현재 문제가 해결될 가능성이 높습니다.

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [4월 2, 2020, 3:49오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/7 "2020-04-02T15:49:28Z")

</div>

아직은 아니지만, 마이그레이션 시간을 잡을 예정입니다. 저희 디스코urs가 거의 3년째 운영되고 있어서 불필요한 다운타임을 만들고 싶지 않거든요. 🙂 인스턴스는 전적으로 자원봉사자들에 의해 관리되고 있어서, 지난 한 달 동안 스스로 유지보수 방법을 배우고 있습니다. 빠른 리디스 수정이 도움이 된다면(해당 컨테이너는 1년 동안 손대지 않고 실행 중이었거든요) 적용하고 싶습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4월 2, 2020, 4:10오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/8 "2020-04-02T16:10:16Z")

</div>

처음부터 표준 설치를 하지 않았다면, 현재 문제를 해결할 수 있는 방법이 무엇인지 알기 어렵습니다.

새로운 VM을 설정하고 그곳에서 테스트 설치를 수행하여 정상적으로 작동하는지 확인하는 것이 좋습니다. 이전 작업을 수행할 때, 기존 포럼을 읽기 전용 모드로 설정하고 백업을 받은 후, 새 VM에 복원하고 DNS를 변경하면 거의 다운타임 없이 전환할 수 있습니다. (실제로는 DNS를 변경한 후 Let’s Encrypt 인증서를 설치하기 위해 재구축 과정을 거치므로, 약간의 다운타임이 발생할 것입니다.)

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [4월 2, 2020, 5:05오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/9 "2020-04-02T17:05:31Z")

</div>

감사합니다. Let’s Encrypt는 실제로 꽤 쉬울 것입니다. nginx 리버스 프록시 설정을 간단히 수정하면 되기 때문입니다. 좋습니다. 잠시 동안의 다운타임이 발생할 것으로 예상됩니다. 다만, 사람이 적은 시간대에 이 작업을 예약하면 됩니다.

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [4월 26, 2020, 7:14오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/10 "2020-04-26T19:14:06Z")

</div>

곧 공식 이미지로 마이그레이션하고 백업을 복원할 예정입니다. Sidekiq 등이 정상적으로 작동하게 되면, 백업된 이메일 등을 정리하는 과정에서 사용자에게 스팸이 전송되지 않도록 주의해야 할 사항이 있는지 알려주시면 감사하겠습니다.

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [4월 30, 2020, 10:10오후 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/11 "2020-04-30T22:10:24Z")

</div>

sidekiq 작업 대기열이 이전되지 않아 많은 이메일이 누락될 것이며, 다이제스트는 정상적으로 전송을 재개합니다.

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [5월 11, 2020, 12:31오전 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/12 "2020-05-11T00:31:41Z")

</div>

공식 Discourse Docker 이미지를 설치하는 방법에 대한 문서를 따르려다 문제가 발생했습니다. 기존 Docker 환경에서 사용하던 redis 컨테이너, mail-receiver 컨테이너, data 컨테이너가 빠져 있는 것 같다는 결론을 내렸습니다.

기존 설치 환경에는 다음 파일들이 포함되어 있었습니다:  
`app.yml`  
`data.yml`  
`mail-receiver.yml`  
`redis.yml`

이러한 멀티 컨테이너 구성은 기본 설치 지침과 다릅니다. 참고용으로 기존 /var/discourse 디렉토리의 백업은 보유하고 있습니다.

```plaintext
FAILED │················································································································
-------------------- │················································································································
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 645 exit 1> │················································································································
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn' │················································································································
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]} │················································································································
bbf0e57ac69f1febe2a5f149aa7e6e12541c3c23aaf199188fdf19d507254b58 │················································································································
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one. │················································································································
./discourse-doctor may help diagnose the problem.
```

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [5월 11, 2020, 12:42오전 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/13 "2020-05-11T00:42:30Z")

</div>

`./launcher bootstrap data` 단계를 놓친 것 같습니다.  
`./launcher start redis`

```plaintext
[Mon 11 May 2020 12:53:20 AM UTC] Run reload cmd: sv reload nginx │················································································································
fail: nginx: runsv not running │················································································································
[Mon 11 May 2020 12:53:20 AM UTC] Reload error for : │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Domains not changed. │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Skip, Next renewal time is: Thu 09 Jul 2020 11:33:04 PM UTC │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Add '--force' to force to renew. │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Installing key to:/shared/ssl/discuss.noisebridge.info_ecc.key │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Installing full chain to:/shared/ssl/discuss.noisebridge.info_ecc.cer │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Run reload cmd: sv reload nginx │················································································································
fail: nginx: runsv not running │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Reload error for : │················································································································
run-parts: executing /etc/runit/1.d/remove-old-socket │················································································································
Started runsvdir, PID is 626 │················································································································
ok: run: redis: (pid 636) 0s │················································································································
chgrp: invalid group: ‘syslog’ │················································································································
ok: run: postgres: (pid 639) 0s │················································································································
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted. │················································································································
rsyslogd: activation of module imklog failed [v8.1901.0 try https://www.rsyslog.com/e/2145] │················································································································
supervisor pid: 640 unicorn pid: 667
```

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [5월 11, 2020, 1:26오전 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/14 "2020-05-11T01:26:41Z")

</div>

좋아요, 이전 Discourse 인스턴스를 성공적으로 복원했습니다! 이제 다음이 표시됩니다:

`관리자에 의해 모든 발신 이메일이 전역적으로 비활성화되었습니다. 어떤 종류의 이메일 알림도 전송되지 않습니다.`

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [5월 11, 2020, 1:39오전 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/15 "2020-05-11T01:39:26Z")

</div>

맞습니다. 이는 마이그레이션 후 50,000통의 이메일이 한꺼번에 발송되는 것을 방지하기 위해 가져오기(importer) 측에서 그렇게 설정한 것입니다. 사이트 설정에서 이메일 기능을 _신중하게_ 활성화해 주세요.

---

<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: [6월 10, 2020, 1:39오전 UTC](https://meta.discourse.org/t/sidekiq-not-running-sidekiq-heartbeat-test-failed-restarting/146326/16 "2020-06-10T01:39:28Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
