私の Web アプリケーションは HTTP サーバーと WebSocket サーバーで構成されており、どちらも Rails で実行されています。Websockets の場合、次のように初期化子で開始する em-websocket を使用しています。
Thread.new do
EventMachine.run do
EventMachine::WebSocket.run(EVENTCHAT_CONFIG) do |socket|
[...]
end
end
end if Rails.const_defined?(:Server)
これは、「rails s」でサーバーを起動すると正常に動作しますが、デタッチ モード (「rails s -d」) では動作しません。JS経由でWebsocketサーバーに接続しようとすると、まだ接続状態にあると表示されるので、何かがブロックしていると思います。また、これはスレッドに関連している可能性があると思います。
また、thin と unicorn でサーバーを起動しようとしましたが、どちらも Websocket サーバーの起動に失敗します。
私はここで大会に反対していますか?