rails-logo

【Rails】byebugでデバッグ中Terminating timed out workerでタイムアウトしてしまう!

こんにちは。たなか(@tanaka_ricecake)です。

Ruby on RailsでWebアプリケーションサービスの開発をしています。

みなさん開発中、byebugを使う機会は多いかと思います。

byebugを使用していて以下の症状にぶつかったので、解消法とともにご紹介します

byebugでデバッグ中にタイムアウトしてしまう!

Terminating timed out worker: 0000

 

デバッグしたい箇所にbyebugを仕込み、ターミナルで止まってくれるのを確認。

パラメータは何が入ってるかなー、この変数の中身はなにかなーと動かしていると不意に以下のログとともにbyebugが終了してしまいます。

 

(byebug) [0000] ! Terminating timed out worker: 0000
[0000] - Worker 1 (pid: 1522) booted, phase: 0

 

byebug「はいタイムアウトーー! 終了ですーーー!」

 

待って待ってまだ色々確認し足りないのに!

もう一度処理を走らせて、また確認して、また流れてああもう!

解決方法

puma.rbをに worker_timeoutを設定する!

 

pumaは、Railsのアプリケーションサーバー。

railsアプリの土台にあり、アプリを動かしてリクエストを処理してくれるやつです。

 

pumaのworker timeoutの設定を追記してやることで、タイムアウト時間を変更することができます。

 

  worker_timeout 600

 

デフォルトは60秒らしいので、600秒(10分)に変更。

これでタイムアウトに迫られる恐怖から解放されました!よかった!

まとめ

rails-logo

 

pumaって単語は知ってましたが、具体的に何やってるかよくわかってなかったです。

普段Railsで開発していますが、アプリケーションの土台というか、Railsがよしなにやっている部分とかの知識が乏しいので、そういったレイヤーの知識も徐々に身につけていきたいですね。

短いですが、今回はここまで。

参考サイト

スポンサードリンク