====== AlWorker クライアントの作成 ====== クライアントを作成する場合について説明します。\\ daemon作成時と同様に、AlWorkerを継承する方法と、Aloneを通常のライブラリと同様に扱う方法があります。 ====== 方法1 AlWorkerを継承する方法 ====== require "al_worker_ipc" class CountClient < AlWorker def idle_task() ipc = Ipc.open( "/tmp/count_server" ) 10.times do ipc.call( "counter", work: "up" ) sleep 1 end exit end end client = CountClient.new client.run( :nolog, :nopid ) ===== 常駐しない ===== 常駐しないようにするには、daemon()メソッドの代わりに、run()メソッドを使用します。 worker1 = Worker1.new() worker1.run() ===== ログ出力の無効化 ===== ログファイルを自動的に作らないようにするには、run()メソッドに、:nolog パラメータを渡します。 worker1.run( :nolog ) ===== プロセスIDファイルを作らない ===== プロセスIDファイルの作成を止めるには、run()メソッドに、:nopid パラメータを渡します。\\ また、pidファイルの有無は多重起動阻止の判定にも使われていますので、pidファイルを作らなければ、普通のプログラム同様、多重起動できます。 worker1.run( :nopid ) ====== 方法2 Aloneをライブラリとして利用する方法 ====== require "al_worker_ipc" ipc = AlWorker::Ipc.open( "/tmp/count_server" ) 10.times do ipc.call( "counter", work: "up" ) sleep 1 end 注意点 名前空間が違うので、オブジェクトの生成には AlWorker:: をプレフィクスとして付ける必要があります。