2016-07-18 6 views
3

これは数多くの機会に私に起こりました。私はここで答えを見つけることができれば幸いです。Railsコンソールが手動で削除/破棄する動作でフリーズする

Railsコンソールで作業してオブジェクトに対して#updateまたは#destroyアクションを実行すると、ログがBEGINをログに書き込んだ後でコンソールがフリーズすることがあります。私は現在、10分の間そこに座っていた簡単な破壊を開いています。

すなわち:私のMac上で

my_object.find(permitted_params[:thing][:id]).destroy 

CTRL + Cは、それを殺し、単にレンダリングしていません:

^C^C^C^C^C^C^C^C^C^C 

をそれから私は最終的にタブを殺したとき、私は取得、サーバーを再起動します。

A server is already running. Check /path/to/app/tmp/pids/server.pid. 

次に、server.pidをクリアしてサーバーを再起動しようとすると、次のようになります。私はlsof -wni tcp:3000、その後、kill -9 #whatever_my_pid_was実行し、その時点で

/Users/nickschwaderer/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/socket.rb:206:in `bind': Address already in use - bind(2) for 127.0.0.1:3000 (Errno::EADDRINUSE) 
は、最終的にはストレートのすべてを設定するには、サーバーを再実行します。

ここでサムブルックは何が起こっていますか?

+0

'^ D'は代わりにそれを殺すかもしれませんか? – MMachinegun

+0

あなたのアップデートのコードを投稿し、アクションを破棄することがありますか?フリーズを引き起こす何かがあります – Ren

+0

開発中に任意のSQLクライアントを使用していますか?一部のクライアントは、更新/削除クエリにトランザクションを使用します。クライアントを閉じるまで、トランザクションは完了しません。 sqlクライアントからクエリを実行中にrailsコンソールから同じテーブルに対してupdate/destroyクエリを実行しようとすると、コンソールがフリーズします。 – Girish

答えて

1

これは私に最近起こったことであり、私が知った理由はかなり恥ずかしいと認めます。

どこかでコードが停止していないことを確認してください。コンソールからでもオブジェクトを削除しようとしても何らかの理由で起動された唯一のbinding.pryがありました。

+0

これは私の場合は問題ではありませんでしたが、他の人がこの問題を抱えている場合の可視性をアップボーニングしています。私はこれが再び私に起こる場合にこれを開いたままにしていますが、記録のために私はRails 5のアップグレード以来これを繰り返すことはありませんでした。 – Schwad

関連する問題