3

Windows 7、Rails 3 はこちら。ローカル/開発モードでは、rails server複数のリクエストを同時に処理しません。プロセスがクラッシュし、cmd プロンプトが前面に表示されます。

次の場合にこの動作に気付きました。

  • ajax リクエストが多すぎる、互いに近すぎる
  • 2 つのブラウザーで単純なページを読み込む

その回避策はありますか?ローカル サーバーを変更します (デフォルトは webrick) ? それはどのように行われますか?

ありがとう。

4

2 に答える 2

7

これにまだ回答が必要かどうかはわかりませんがgem 'puma'、Gemfile に追加することでこれを行いました。次に、実行中の環境ファイルまたは環境ファイルに追加config.threadsafe!する必要があります ( .config/application.rbconfig/environments/development.rb

スレッドセーフをオンにしたくない場合があるため、次のようにしましたdevelopment.rb

if ENV["THREADS"]
  config.threadsafe!
end

今(私がしたことでdevelopment.rb)できるようrails s Pumaになり、最大16のスレッドで実行され、複数のリクエストを処理できます。スレッドプールをアップして、Puma でさらに構成することもできます。ドキュメントはこちら

アップデート

config.threadsafe!Rails 4 以降では of の使用は不要であり、推奨されていないことに注意してください。

于 2012-08-24T18:02:22.483 に答える
0

mongrel gem をインストールする必要があります。これにより、使用するサーバーを指定します。rails s

皆さんが勝利システムでそれをどのように行うのかわかりません。仮想 Unix ボックスを実行してみませんか? レールはそれでずっと簡単ではありませんか?したがって、Unix では次のようになります。

mongrel gem をインストールします。

gem install mongrel

次に、実行するサーバーを指定します。

rails server mongrel
于 2011-04-22T17:32:03.530 に答える