独自のRakeタスクでUnicornを快適に扱う

こんにちは、鈴木です。

Ruby on Rails は開発に必要なものが一通り提供されているフルスタックのフレームワークです。一通りのものが提供されているとはいえ、「こんなものが欲しい」「あんなものが欲しい」と思うこともあります。

何度も実行するような処理であれば、独自の Rake タスクとして定義しておくと便利です。

独自の Rake タスクの作成

独自の Rake タスクの作成は非常に簡単に行うことができます。lib/tasks/ 以下に .rake という拡張子のファイルを作成します。例として「Hello」を出力するタスクを定義してみます。lib/tasks/hello.rake を作成し、以下の内容を記述します。

作成できたら、「rake hello」で実行することができます。

「rake -T」でタスク一覧を確認することができるのですが、その中に自分で定義したタスクも表示されるようになると、なんだか楽しい気持ちになります。

Unicorn を操作する Rake タスクの例

最近アプリケーションサーバの Unicorn を使い始めました。

Unicorn の操作はプロセスにシグナルを送ることが基本となります。例えば、サーバの再起動や設定ファイルの再読み込み、ワーカープロセス数の変更などを行うには、Unicorn のプロセスにシグナルを送る必要があります。

はじめのうちはプロセス ID を調べて、kill コマンドでシグナルを送る、ということを何度も繰り返していましたが、次第に面倒になり、独自の Rake タスクを作成しました。

何度も行っている面倒な作業があれば、独自の Rake タスクを作ることを検討してみてください。

Comments are closed, but you can leave a trackback: Trackback URL.