class DRb::ExtServManager

[edit]

要約

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

目次

特異メソッド
インスタンスメソッド

特異メソッド

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

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

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

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

command=(cmd)[permalink][rdoc][edit]

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

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

[SEE_ALSO] DRb::ExtServManager.command

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

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

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

インスタンスメソッド

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

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][edit]

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

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

[SEE_ALSO] DRb::ExtServManager#uri=

uri=(uri)[permalink][rdoc][edit]

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

[SEE_ALSO] DRb::ExtServManager#uri