«前の日記(2006-08-29(Tue)) 最新 次の日記(2006-09-10(Sun))» 編集

これ日記なん?


2006-09-02(Sat) [長年日記]

_ [Ruby]mongrel win32 サービスを試す

mongrelがwin32サービスに対応しているらしい、というところで止まっていたのでちょっと試してみた。

OS

  • WindowsXP SP2 HOME

ruby

C:\home\kog\development\test_mongrel>ruby -v
ruby 1.8.4 (2005-12-24) [i386-mswin32]

gem list

C:\home\kog\development\test_mongrel>gem list
*** LOCAL GEMS ***

gem_plugin (0.2.1)
    A plugin system based only on rubygems that uses dependencies only

mongrel (0.3.13.3)
    A small fast HTTP library and server that runs Rails, Camping, and
    Nitro apps.

rake (0.7.1)
    Ruby based make-like utility.

sources (0.0.1)
    This package provides download sources for remote gem installation

win32-service (0.5.0)
    win32-service for doing services in Ruby

C:\home\kog\development\test_mongrel>

準備

C:\home\kog\development\test_mongrel>copy c:\opt\ruby\lib\ruby\gems\1.8\gems\mongrel-0.3.13.3-mswin32\examples\mongrel_simple_*.rb .

動かしてみます

mongrel_simple_ctrl.rb ってのがwin32サービスへのインストーラ・アンインストーラ・コントローラを兼ねているみたい。win32サービスとして動くのは mongrel_simple_service.rb の模様。

じゃあ動かしてみますかね。オプションなしならヘルプ出るでしょ。

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb
C:\home\kog\development\test_mongrel>

...でない。明示しろってことか。

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb -h
Usage: mongrel_simple_ctrl [options]
    -d, --delete                     Delete the service
    -u, --uninstall                  Delete the service
    -s, --start                      Start the service
    -x, --stop                       Stop the service
    -i, --install                    Install the service
    -h, --help                       Show this help message.

じゃインスコ。

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb -s
One moment, start pending
Mongrel HTTP Server service started

早速とめてみる。

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb -x
mongrel_simple_ctrl.rb:62:in `stop': パイプは終了しました。 (Win32::ServiceError
)
        from mongrel_simple_ctrl.rb:62

エラーになるねえ。もう一回はどうだ?

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb -x
mongrel_simple_ctrl.rb:62:in `stop': そのサービスを開始できませんでした。 (Win32
::ServiceError)
        from mongrel_simple_ctrl.rb:62

メッセージが変わった。管理ツールで確認すると止まっている模様。

管理ツールで起動・停止させてみると、起動はいいけど停止で時間がかかるときがあるみたい。時間がかかるとき、停止ダイアログの「キャンセル」ボタン押してもサービス自体は止まる模様。

いろいろ試すとこういうメッセージの時もあった。

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb -x
mongrel_simple_ctrl.rb:62:in `stop': 制御要求を処理しているときに、サービスで例
外が発生しました。 (Win32::ServiceError)
        from mongrel_simple_ctrl.rb:62

じゃあ削除。

C:\home\kog\development\test_mongrel>ruby -rubygems mongrel_simple_ctrl.rb -d
Mongrel HTTP Server service deleted

たしかに動くことは動くけど、もうちょっとテストしないと怖いな。

あと、すぐに停止できないのも運用上気になる。サーバ落とすつもりで落ちてないってことになりかねないし。

_ [Ruby] ap4rreliable-msgの違い?

babieさんとこでap4rなるプロジェクトを知ったので、早速インスコして眺めてみた。非同期・異機種分散処理とかかなり好きなので。

...永続化層にreliable-msgを使っているとのことだが、正直reliable-msgとの違いがよくわからない。reliable-msgにもrails supportは含まれてるみたいだし。realiable-msgの上にレイヤーを作ってSOAP, XMLRPCサポートを追加したものなのかな?

日本語解説も読んだんだけど...

Rindaで処理エージェントを複数待機させておいて、処理メッセージをいくつかtupplespaceに放り込むと、それこそえさに群がる池の鯉のように処理エージェントが処理しまくるので見てて楽しいのだけど、Rindaでつなぐとお互いのRubyとdrubyのバージョンをあわせないといけないから、こういうライブラリのほうがいいってことなのかな?

本日のツッコミ(全4件) [ツッコミを入れる]
_ TrackBack (2006-09-11(Mon) 09:55)

http://d.hatena.ne.jp/ita-wasa/20060911/1157935713<br>いたわさににほんしゅ<br> [Ruby][AP4R] 動かしていただき、ありがとうございます m(_ _)m<br> なんかリアクションが遅いですが、さっそく動かしていただいた方が! これ日記なん? - mongrel win32 サービスを試す , ap4r と reliable-msgの違い? ..永続化層にreliable-msgを使っているとのことだが、正直reliable-msgとの違いがよくわからない。reliable-msgにもrails

_ Kilkoi (2007-12-23(Sun) 11:23)

Cool topic! ;)

_ bob (2008-01-16(Wed) 03:45)

c4nrAT hi great site thx http://peace.com

_ BMW (2008-01-20(Sun) 08:09)

Cool site! Helpful topic! :)