プラグイン「Gamification」と「Reactions」がなぜか不安定

こんにちは。

Gamification および Reactions プラグインを使用しようとしましたが、これらの 2 つのプラグインは私のテストインスタンスで不安定なようです。

これまでにコンテナを再構築して変更があるか確認しましたが、変更はありませんでした。また、以前追加した Solved および BBcode の他の 2 つのプラグインにも問題はありません。

この動作の原因を特定するために、他にどのようなことを確認できますか。

何が起こるか:

  • プラグインの機能が動作しなくなります。
  • プラグインが Installed plugins リストから消えます。
  • プラグインが存在する場合、設定オプションがないと表示されることがあります。
  • プラグインの設定オプションが存在する場合、xxxx_xxxx_xxxx という名前の設定パラメータがないというエラーが表示されて変更時にエラーが発生することがあります。

再確認済み:

  • 再構築ログ - プラグインに関するエラーはありません。
  • Web ブラウザの開発者コンソール - エラーはありません。ページを読み込めなくなった際の 404 を除く。
  • Rails/Unicorn ログ - 不審な点はありません。

Discourse バージョン:

  • v3.5.0beta7 (tests-passed chain)

app.yml ファイルのプラグインセクションをここに送っていただけますか?

「いいね!」 1

ここですか?

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          #- git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-bbcode.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-gamification.git

うーん…今のところ、すべて順調に見えます。Docker Manager プラグインのコメントを解除した理由を伺ってもよろしいですか?それが問題の原因である可能性はありますが、それをコメント解除して再構築を試していただけますか?

HA(高可用性)のために rev-proxy の背後にある複数のホストシステムがあります。1つのホストは Discourse の構築/再構築用で、残りはホスティング専用です。Docker マネージャープラグインはこのようなシナリオでは機能しないと推測していたため、無効にしていました。

なぜそのプラグインが無効になっていると、これら2つに問題が発生するのでしょうか?リストから削除すべきでしょうか?

では、そうではないかもしれませんね。これは確かに奇妙です。プラグインページのスクリーンショットを共有していただけますか?

編集:本来ならそこにあるはずですが、ご覧の通り、どちらのプラグインも何らかの理由で欠落しています。

ページをリフレッシュした後

それで、ページをリフレッシュしたら、今は動作しますか? Settings をクリックすると、プラグインの設定は読み込まれますか?

現時点では、設定ページが空の状態でしか読み込まれません。

編集:リロードすると設定が読み込まれます。しかし、言及したように、それは機能しますが、何かが起こった後には機能しなくなります。

「いいね!」 1

非常に奇妙です。フォーラムでプラグインを実際に利用できますか?(例えば /leaderboard を見たり、投稿にリアクションしたりなど)

Gamification を試していた頃は、読み込まれることもあれば読み込まれないこともあり、50/50 でした。Reactions は、まったく読み込まれていないようです。リアクションの選択なしで、デフォルトの「いいね」機能しかありませんでした。

何か見つけたかもしれません。キャッシュがないように、プライベート/シークレットタブで再構築を試していました。そして、ビルドでこれらの 2 つのプラグインを有効にするたびに、Discourse は S3 バケットから存在しない 2 つのアセットを読み込もうとしました。再構築ログでもこれらの 2 つへの参照は見られませんでした。これらのプラグインは、アセット/アップロードが minio S3 に保存されている Discourse セットアップと互換性がないのでしょうか?すでに 構文ハイライターの回避策 を作成する必要がありました。

再構築後に S3 に存在しないアセットについて言及します。

S3_URL/assets/chunk.86b59b318d00d6f8db6a.d41d8cd9.br.js
S3_URL/assets/chunk.23e5cc7cf06d7f53c6f5.d41d8cd9.br.js
「いいね!」 1

待てよ。いや、私の大きな設定ミスだった。モニタリングの設定ミスがあり、ホストオンリーノードで古いコンテナを停止し忘れていたことに気づきませんでした。それで、テスト環境で、新しいプラグインを備えた新しいDiscourse 3.5.0beta8と、それらのプラグインがない古い3.5.0beta7を搭載したノードを構築しました。そして、リバースプロキシが最小接続数に設定されていたため、ウェブインターフェースがこれらのノード間でリソースをロードする際に混乱しました…。言及したプラグインで全て正常に動作しています。さて、このトピックは削除した方が良いでしょうか、それとも似たような間抜けな状況に陥るかもしれない誰かのための注意書きとして残しておいた方が良いでしょうか?