Passenger (mod_rails) 1.0.1を動かしてみて

少しだけど実際に動してみることでもう少し分かったので、先の記事を少しだけど書き換えておいた。

他に気付いた点として、passenger-spawn-serverにはSIGHUPでリロードがかかるような感じのコードがあるのだけど、シグナルハンドラを設定する親クラスのコードではSIGHUPを常に無視するようになっていて、結局のところSIGHUPには無反応になっているようだというのがある。もうちょっと確認したほうが良さそうだけど、その通りだとすればどっちが位図した挙動なのか気になる。SIGHUPでリロードしてくれたほうがうれしいように思う。

あと、spawn server系を外部から、つまりkillコマンドとかで終了させると、しばらくはエラー表示が出るようになる。しばらくというのはアイドル時間をすぎるあたりまでということだと思うが、詳しくは見ていない。関連して、運用時にはエラー出力用のテンプレートを調整しておいたほうが良さそうだ。そのままバとバックトレースとか出ちゃう。

運用に際してといえば、たとえば高負荷時の挙動だとか、前述のプロセスが予期せず死んだときの挙動だとか、そういった部分での検証は必要ではあるものの、単に動かすという意味ではインストールさえできればわりとすんなりと動いてくれる。Apache HTTPサーバ2.xでなければならず、今のところprefork MPMにしか対応していない(と書いてある)点が少々ひっかかるが、それがすごく問題ということもないだろう。Mongrelなんかよりも手間はまずまず少なくてすむように思える。

もうちょっと調べてみてはいるので、いずれ期会があればまとめてみる気になるかもしれない。が、そんな機会はないかもしれない。メモだけなら簡単なんだけどねえ ;-)