« 2009年04月 | メイン | 2009年07月 »

2009年05月 アーカイブ

2009年05月13日

Rackデーモンの起動スクリプトを書いてみる

割合最近マルチスレッドかつそこそこ高速に、簡単なHTTPリクエストをDBを引いて捌くサーバプログラムを書く機会がありました。

そういうのにMerbをとかを使うのもヘビーウェイトだなあと思い、Ramazeとかもいんじゃないかなあと少し思いましたが折角なのでRack+Sequelでいってみることにしました。 RackについてはMerbでおおよそ知っていましたのでさっくり作ることができたのですが、デーモンの起動スクリプトを作るところで少し困ってしまいました。

Rackは出来合いのrackupというコマンドがあり、これでサーバを起動します。-dオプションを付けるとデーモンとしてバックグラウンド起動するのですが、たいへん不便なことに停止するコマンドがありません。なのでとめる時はpidをもとにSIGINTをおくってやらないといけないです。

また、rackupには実行ユーザーを指定する方法がありません。したがって、rackupコマンドを実行する際にsu -cを利用して、実際の実行ユーザーでデーモンを起動する必要があります。

これらにより以下のようなスクリプトを書きました。出来あがったプログラムはRubyとは思えない速さでウルトラ高速に動作して大変よかったですので機会を見つけてまた使ってみようと思います。

続きを読む "Rackデーモンの起動スクリプトを書いてみる" »