alworker:クライアントの作成
AlWorker クライアントの作成
クライアントを作成する場合について説明します。
daemon作成時と同様に、AlWorkerを継承する方法と、Aloneを通常のライブラリと同様に扱う方法があります。
方法1 AlWorkerを継承する方法
- client1.rb
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をライブラリとして利用する方法
- client2.rb
require "al_worker_ipc" ipc = AlWorker::Ipc.open( "/tmp/count_server" ) 10.times do ipc.call( "counter", work: "up" ) sleep 1 end
注意点
名前空間が違うので、オブジェクトの生成には AlWorker:: をプレフィクスとして付ける必要があります。
alworker/クライアントの作成.txt · 最終更新: 2014/07/07 18:31 by hirohito