Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > drb/extservmライブラリ > DRb::ExtServManagerクラス

class DRb::ExtServManager

クラスの継承リスト: DRb::ExtServManager < Object < Kernel < BasicObject

要約

DRb::ExtServ で作られたサービスを管理するクラスです。

目次

特異メソッド
command command= new
インスタンスメソッド
service uri uri=

特異メソッド

command -> { String => String|[String] }[permalink][rdoc]

サービスを起動するためのコマンドを指定するための Hash を 返します。

Hash のキーがサービス名で、値がそのサービスを起動するためのコマンドです。 この Hash を変更することでサービスを定義します。 DRb::ExtServManager.command= で Hash 自体を 変更することでも同じことができます。

コマンドは文字列、もしくは文字列の配列で指定します。 文字列で指定した場合は Kernel.#spawn で プロセスを起動する際に shell 経由で起動されます。 文字列の配列で指定すると shell を経由せずに起動されます。

command=(cmd)[permalink][rdoc]

サービスを起動するためのコマンドを指定するための Hash を 設定します。

[PARAM] cmd:
コマンドを設定した Hash

[SEE_ALSO] DRb::ExtServManager.command

new -> DRb::ExtServManager[permalink][rdoc]

DRb::ExtServManager オブジェクトを生成して返します。

これで生成したオブジェクトの DRb::ExtServManager#service を リモートプロセスから呼び出すことでサービスの仲介を実現します。

インスタンスメソッド

service(name) -> DRb::ExtServ[permalink][rdoc]

name で指定したサービスに関連付けられた DRb::ExtServ オブジェクトを返します。

サービスを提供するプロセスが起動していない場合は、DRb::ExtServManager.command で指定したプロセスを起動し、そのプロセスが DRb::ExtServ オブジェクトが DRb::ExtServ.new によって ExtServManager に登録されるのを待ちます。 その後、登録されたオブジェクトを返します。

すでにプロセスが起動していた場合は、登録されている DRb::ExtServ オブジェクトを 返します。

DRb::ExtServ#stop_service でサービスを停止すると、登録されている DRb::ExtServ は削除され、プロセスは停止します。

[PARAM] name:
サービス名文字列
uri -> String|nil[permalink][rdoc]

サービス起動時にプロセスを spawn する時に渡す URI を返します。

デフォルトは nil で、これは DRb.#uri を用いることを意味します。

[SEE_ALSO] DRb::ExtServManager#uri=

uri=(uri)[permalink][rdoc]

サービス起動時にプロセスを spawn する時に渡す URI を設定します。

[SEE_ALSO] DRb::ExtServManager#uri