「discourse enable_readonly」で有効化すると、サイトは自動的に読み取り専用モードを終了します

皆さん、こんにちは。

Ansible を使用してデプロイメントと移行の自動化を設定していますが、読み取り専用モードで問題が発生しています。

docker exec app discourse enable_readonly
または

./launcher enter app
discourse enable_readonly

で読み取り専用を有効にすると、約 1 分 20 秒後にサイトが自動的に読み取り専用モードを終了してしまいます。

WebUI (admin/backups セクション) から読み取り専用モードを有効にすると、無効にするまで有効なままです。

何か考えはありますか?

「いいね!」 1

ログを確認しましたか?おそらく、プロセスを中断しているバックグラウンドジョブやプラグインがどこかにある可能性があります。

こんにちは、リリーさん。

ご返信ありがとうございます。これはクリーンなデフォルトインストールで、プラグインはインストールしておらず、ジョブも作成していません。どのログを確認するのが最適でしょうか?すみません、私はまだ初心者です。

以下のログで tail -f を試しました。

/var/discourse/shared/standalone/log/rails/unicorn.stdout.log
/var/discourse/shared/standalone/log/rails/unicorn.stderr.log
/var/discourse/shared/standalone/log/rails/production_errors.log
/var/discourse/shared/standalone/log/rails/production.log
/var/discourse/shared/standalone/log/rails/sidekiq.log
/var/discourse/shared/standalone/log/var-log/redis/current

ログを追いながらイベントが発生するのを待っていましたが、特に目立つものは見つかりませんでした。

WebUI経由でアクティブ化すると完全に機能するのに、CLI経由では機能しないのは奇妙です。

私も、読み取り専用モードの有効化と無効化の両方で問題が発生しました。前回は、レールで Discourse.enable_readonly_mode を実行しました。

発生するときは常に緊急事態であり、問題の原因を調査したことはありません。

参考までに、私自身のAnsibleツールでは読み取り専用モードを使用していませんが、Introducing Post Deployment Migration は使用しています。

「いいね!」 1

ジェイさん、ありがとうございます。XYアプローチで問題に取り組んでいるようです。Post Deployment Migrationをチェックしてみます。ありがとうございます。

他に考えられるのは、API呼び出しでROをアクティブ化することかもしれません。

- name: post migrations
  shell: "docker exec  {{ discourse_yml }} bash -c 'rake db:ensure_post_migrations db:migrate'"
  become: yes

これで読み取り専用モードが機能する可能性があります。

- name: post migrations
  shell: "docker exec  {{ discourse_yml }} bash -c 'echo Discourse.enable_readonly_mode | rails c'"
  become: yes

ありがとうございます。大変助かります。今夜試してみます。

「いいね!」 1

使用している読み取り専用モードの違いですか?

「いいね!」 3

JammyDodgerさん、ありがとうございます!情報とリンクは大変参考になりました。コンテナの再起動が何に該当するのか分かりません。discourse enable_readonly を使用して Discourse.enable_readonly_mode(Discourse::READONLY_MODE_KEY) を実行した際に、ROモードが有効なままでいられるのは約1分30秒ですが、私のコンテナはそれほど頻繁に再起動しているようには思えません。

しかしながら、Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY) は無期限に「維持」されることを確認しました。これが私が達成しようとしていたことです :+1:

「いいね!」 1

完全を期すために:

- name: Set read-only mode for live forum host
  ansible.builtin.shell: |
      docker exec app bash -c 'echo Discourse.enable_readonly_mode\(Discourse::USER_READONLY_MODE_KEY\) | rails c'
  register: enable_readonly_output
「いいね!」 2

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