dRuby で 1プロセスで複数サービスの提供 こっちが本題だったか。 DRb::DRbServerをnewすれば一つのプロセスで複数のDRbServerを持てます。それぞれに待ち受けスレッドが生成されます。 サーバがリモートからのメソッドを処理するコンテキスト内(スレッド内)でDRbObjectを生成するとき、そのメソッドを担当しているDRbServerへの参照が生成されます。あるコンテキストにおいて、そのきっかけとなったリモートからの呼び出しを受け付けたDRbServerがカレントサーバです。きっかけがリモートからの呼び出しでない場合には、プライマリサーバがカレントサーバとなります。プライマリサーバは一番最初に生成されたDRbServer、あるいはDRb.start_serviceで生成したDRbServerです。 こういうことは通常は意識しなくて良いように設計されていますが、こういう