接続が切断されています

こんにちは、

Discourse 用の「Disraptor」というプラグインを開発しています。これは一種のリバースプロキシとして機能し、Discourse のコンテキスト内に別の Web サイトを埋め込むことを可能にします。

現在、この方法で埋め込もうとしている Web サイトは、特定のルートへの応答に非常に時間がかかり、30 秒後にレンダリングされた「not_found」ページが表示されてしまいます。

ご存知の通り、本番環境での Unicorn ワーカーの標準タイムアウトは 30 秒です。そこで、Unicorn の設定を変更してこのタイムアウトを延長しようと試みました。Unicorn のエラーログを確認すると、ワーカーが殺されるタイミングは遅くなったことが確認できますが、それでもワーカーが終了する前に「not_found」テンプレートがレンダリングされてしまいます。

さらに調査を進めましたが、この 30 秒のタイムアウトがどこで設定されているのか、あるいはその根拠がどこにあるのかについて、手がかりを見つけることができませんでした。応答時間の長さがそれ自体が問題であり、将来的に修正される可能性はありますが、現時点では少なくともこのタイムアウトを変更できる方法があれば理想的です。

どのようにすれば実現できるか、ご存知の方がいらっしゃいましたらご教示いただけますでしょうか?

よろしくお願いいたします。

ユニコーンのタイムアウト30秒は、ここから来ていると思われます: discourse/config/unicorn.conf.rb at main · discourse/discourse · GitHub

たとえば、本番環境で ENV[“UNICORN_TIMEOUT”] を使用して変更できる方法があると良いのですが。

「いいね!」 3