質問

起動時の詳細はこちら

=> WEBrick を起動する
=> Rails 3.0.1 アプリケーションの開発が開始されました http://0.0.0.0:3000
=> 切り離すには -d を指定して呼び出します
=> ctrl-cからシャットダウンサーバー[2011-01-11 13:43:57]情報ウェブリック1.3.1
[2011-01-11 13:43:57] 情報 Ruby 1.9.2 (2010-08-18) [i386-mingw32]
[2011-01-11 13:43:57] 情報 WEBrick::HTTPServer#start:pid=10216 ポート=3000

WEBrick が定期的にクラッシュします。唯一のエラー メッセージは次のとおりです。

ActionController::RoutingError (「/thumbnails/missing.png」に一致するルートがありません):

このエラー メッセージは時々表示されます (私はペーパークリップを使用しています) が、発生するたびに WEBrick のクラッシュが発生するわけではありません。ルーティング エラーを解決するために少し時間を費やしましたが、まだ解決していません。ただし、毎回起こるわけではないので、それが WEBrick クラッシュの根本的な原因ではないと思います。

ご協力をよろしくお願いいたします。

役に立ちましたか?

解決

申し訳ありませんが、あなたの質問に対する答えはわかりませんが、あなたが満足しているかもしれない潜在的な回避策を提供できます:ウェブリックの代わりにMongrelを使用してください。 Mongrelはより速く走り、完全に互換性があります。そして、ルートが見つからないときはクラッシュしないかもしれません。ほとんどのRails開発者は、数年間Webrickを使用していません。

Mongrelを使用するには:

gem install mongrel

RailsがMongrelを見つけた場合、自動的に使用します。

それがそれを修正することを願っています!

他のヒント

Mongrel は、少なくとも Ruby 1.9.2 p180 と Rails 3.0.9 を搭載した Windows 7 では問題を解決しません。

問題の原因となっているコード部分は次のとおりであることがわかりました (C: uby192\lib uby\gems\1.9.1\gems ailties-3.0.9\lib ails ack\log_tailer.rb にあります) ):

module Rails
  module Rack
    class LogTailer
      .
      .
      .

      def tail!
        @file.seek @cursor

        if !@file.eof?
          contents = @file.read
          @cursor = @file.tell
          $stdout.print contents
        end
      end
    end
  end
end

このメソッドを空にすると、WEBrick は再び正常に動作します。集中的なテストを行ったところ、大量の RoutingError がスローされました。

このパッチを使用できます。それを環境ファイルに入れます。

module Rails
  module Rack
    class LogTailer

      def tail!

      end
    end
  end
end

この欠点は、コンソールにデバッグ メッセージが表示されないことです。

この問題を回避するには、代わりに log4r を使用してコンソールにデバッグ メッセージを出力します。

私にとっては魅力的な仕事です。

ロガーstdoutに印刷されたエラー/警告が印刷された後、ウェブリックがクラッシュするように見えます。 stdoutにログに記録しないThinを使用して回避策を講じます。

gem install eventmachine --pre
gem install thin
thin start

env:Win7x64、Ruby 1.9.2(2011-07-09)[I386-MINGW32]、Rails 3.0.9

これも参照してください: https://rails.lighthouseapp.com/projects/8994/tickets/5590-rails-30-crashes-ruby-192p0-on-repeated-browser-refresh

私は運がありました 細い サーバ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top