완전한 재빌드 후 웹 업그레이드 플래그가 멈춤

관리자 패널에 "업데이트 중"이 표시되지만 실제로는 업데이트가 진행 중이지 않고, 포럼은 다른 부분에서는 정상적으로 작동하는 경우를 보신 분들에게 도움이 될 수 있어 공유합니다.

Docker Manager를 통한 업데이트에는 영향을 주지 않았지만, 최근 몇 버전에서는 관리자 패널이 항상 Discourse가 업데이트 중이라고 표시되어 CLI를 통해 업데이트를 해야 했습니다.

저희 포럼은 규모가 작고 커스텀 플러그인도 없습니다.

이 문제를 해결한 방법은 Redis 캐시를 삭제하는 것이었습니다.

근본적인 원인은 공유할 수 없지만, Discourse 업데이트 과정에 대한 제 지식과 이해의 한계에 부딪힌 것은 정말 답답했습니다(불만이 아니라 고백입니다).

이전까지는 'rebuild app’이 거의 모든 문제에 대해 신뢰할 수 있는 해결책이었습니다.

1개의 좋아요

Redis에는 사용자 세션과 그 이상의 데이터도 포함되어 있습니다. Redis를 완전히 플러시하면 모든 사용자의 로그아웃이 발생하고 모든 대기 중인 Sidekiq 작업이 삭제됩니다. 예약된 작업은 다음 재시작 후에야 다시 나타납니다.

이것은 최후의 수단으로만 사용해야 하며, 플러시 전에도 flushall을 실행하기 대신 특정 키가 문제의 원인이 무엇인지 확인하는 것이 좋습니다. 이는 마우스 한 마리를 없애기 위해 건물 전체에 불을 지르는 것과 같습니다.

7개의 좋아요

Redis를 재시작하는 것은 어떨까요? (수정: 틀렸습니다! 아래를 참조하세요) 메모리 내 데이터베이스라고 생각해서 서버 재부팅과 같은 상황에서 아무것도 유지되지 않을 것 같습니다. 그리고 서버 재부팅은 파괴적이지 않으며(언제든 발생할 수 있음)

그것은 잘못된 것입니다. Redis는 디스크에 데이터를 영구적으로 저장합니다.

1개의 좋아요

귀하의 통찰력과 전문성에 감사드립니다.

제가 시도해 본 방법:

관리자 패널을 통한 업데이트 (실패/시작되지 않음)

수동 업데이트 절차 따름 (최근 3개 릴리스 동안)

런처 앱을 여러 번 재빌드함.

포럼에서 유사한 문제와 해결책을 검색함

결국 ChatGPT에 질의하여 Redis 옵션을 발견함. ChatGPT 자체는 가능성이 낮은 해결책이라고 말했고(이미 제가 시도한 것들을 제안함)도 했습니다.

이것이 제가 취한 조치 중 문제를 해결한 유일한 것이었습니다.

비유를 이해합니다.

대안으로, 문제를 더 잘 이해하고 해결하기 위해 제가 더 할 수 있는 다른 조치가 있을까요?

정리하자면, 다음 명령을 실행했는데 작동하지 않았다는 말씀이신가요?

cd /var/discourse
git pull
./launcher rebuild app

(어떤 방식으로 작동하지 않았나요? 표준 설치 환경인가요?)

1개의 좋아요

git pull은 하지 않았고, launcher rebuild app만 수행했습니다.

해당 과정은 정상적으로 작동했지만, 관리 패널이 업데이트가 진행 중이라고 인식하고 있는 상태가 해소되지 않았습니다.

1개의 좋아요

감사합니다 - 그래서 관리자 패널 업데이트가 여러분에게 작동하지 않는다는 것이 관찰된 내용입니다. 또한 제게도 꽤 오랫동안 작동하지 않았습니다! 작동하면 좋았을 텐데 말이죠.

2개의 좋아요

나는 커맨드라인으로 업데이트하는 것을 선호하지만, 이번에는 iPhone 15에서 UI를 통해 docker와 discourse 업데이트를 진행했는데 꽤 잘 작동했습니다 (DO에 표준 설치 환경).

보통은 내 컴퓨터 중 하나에서 CLI를 통해 모든 작업을 수행합니다. 몇 달 전에 UI로 시도했을 때 실패했기 때문이죠 (그래서 어차피 ssh로 접속해야 했었습니다).

3개의 좋아요

free -h 명령은 무엇을 반환하나요?

app.yml에서 UNICORN_WORKERS는 무엇으로 설정되어 있나요?

app.yml에서 db_shared_buffers는 무엇으로 설정되어 있나요?

app.yml에서 db_work_mem이 주석 처리되어 있나요?

서버에는 몇 개의 (v)CPU가 있나요?

Free -h 명령어로 확인한 결과, 메모리는 총 3.8Gi, 사용 중 1.7Gi, 여유 134Mi, 공유 1.0Gi, buff/cache 2.0Gi, 사용 가능 788Mi입니다.

Swap은 총 2.0Gi, 사용 중 290Mi, 여유 1.7Gi입니다.

UNICORN_WORKERS : 4

db_shared_buffers 1GB

db_work_mem은 주석 처리되어 있으며, 40MB로 설정되어 있습니다.

2 vCPU 4GB RAM 인스턴스를 사용 중입니다.

질문해 주셔서 감사합니다! :smiley:

이것들은 재빌드 시에도 이 상황이 지속되는 문제를 수정해야 합니다

6개의 좋아요

와! 정말 멋지네요, 감사합니다! :smiley:

2개의 좋아요

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