Edited at

puma-devがアイドル(スリープ)状態になるタイムアウト時間を変更する


はじめに

puma-devはデフォルトの設定だと15分でアイドル(スリープ)状態になります。

アイドル状態に入ると、起動するまで(=Railsアプリにアクセスしてから画面が表示されるまで)にちょっと時間がかかります。

15分だとちょっと短すぎて頻繁にアイドル状態に入ってしまい開発効率が悪いので、この設定を変更する方法を調べました。


そもそもpuma-devって何?

puma-devはRails開発の際によく使う http://localhost:3000 ではなく、 http://your-app-name.test みたいなURLでアクセスできるようになる、Mac向けの開発支援ツールです。

puma-devを使うといちいち rails sコマンドを叩く必要がありません。

https://github.com/puma/puma-dev

puma-devについては、Qiitaだとこちらの記事がよくまとまっています。

puma & puma-dev にRails開発環境をより良く。pow代替&簡単・安全・安定 - Qiita


変更手順

まず、以下のコマンドで現在設定されているタイムアウト時間を確認します。

$ ps -e | grep puma-dev

2798 ?? 0:00.21 /usr/local/Cellar/puma-dev/0.11/bin/puma-dev -launchd -dir ~/.puma-dev -d dev -timeout 15m0s

最後に見える15m0sが現在のタイムアウト時間です。

これをたとえば1時間に変更したいときは以下のコマンドを実行します。

$ puma-dev -install -timeout 60m

-installというオプションが付いているので、「すでにインストール済みなのにこれでいいの?」と思うかもしれませんが、問題ありません。

再度先ほどのコマンドを実行してみると、タイムアウト時間が変更されていることがわかります(1h0m0sに変わっている)。

$ ps -e | grep puma-dev

2798 ?? 0:01.04 /usr/local/Cellar/puma-dev/0.11/bin/puma-dev -launchd -dir ~/.puma-dev -d dev -timeout 1h0m0s

手順は以上です。


参考文献

この手順は以下のissueに載っていました。

https://github.com/puma/puma-dev/issues/91#issuecomment-293514380

このissueを教えてくれた同僚の @shirogani に感謝します🙏