2 つの webrick サーバーを起動する 2 つのプロセスをフォークする必要がある宝石を書いています。複数のサーバーではなく、この2つのサーバーのみが実行されている必要があるため、基本クラスのクラスメソッドを介してこのサーバーを起動したいと考えています。実行時に、この 2 つのサーバーでいくつかのメソッドを呼び出して変数を変更したいと考えています。
私の問題は、基本クラスのクラス メソッドを介してフォークのインスタンス変数にアクセスできないことです。さらに、内部ではスレッドセーフではない別のライブラリを使用しているため、基本クラス内でスレッドを使用することはできません。したがって、各サーバーを独自のプロセスにフォークする必要があります。
のようなクラス変数で試してみました@@server
。しかし、基本クラスを介してこの変数にアクセスしようとすると、nil
. Ruby ではフォーク間でクラス変数を共有することはできないと読みましたが、そうですか?
それで、これを回避する他の方法はありますか?シングルトンを使用することを考えましたが、これが最善のアイデアかどうかはわかりません。