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] ap4r と reliable-msgの違い?
babieさんとこでap4rなるプロジェクトを知ったので、早速インスコして眺めてみた。非同期・異機種分散処理とかかなり好きなので。
...永続化層にreliable-msgを使っているとのことだが、正直reliable-msgとの違いがよくわからない。reliable-msgにもrails supportは含まれてるみたいだし。realiable-msgの上にレイヤーを作ってSOAP, XMLRPCサポートを追加したものなのかな?
日本語解説も読んだんだけど...
Rindaで処理エージェントを複数待機させておいて、処理メッセージをいくつかtupplespaceに放り込むと、それこそえさに群がる池の鯉のように処理エージェントが処理しまくるので見てて楽しいのだけど、Rindaでつなぐとお互いのRubyとdrubyのバージョンをあわせないといけないから、こういうライブラリのほうがいいってことなのかな?
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
Cool topic! ;)
c4nrAT hi great site thx http://peace.com
Cool site! Helpful topic! :)