BackgroundRB:使い方1


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

トップページ > Ruby on Rails > BackgroundRB > 使い方1

使い方1

ワーカの作成

ワーカを作成するには、

$ script/generate worker ワーカ名

で行う。たとえば、foo_workerを作成する場合は、

$ script/generate worker foo

で作成。lib/workersの下にfoo_worker.rbが作成される

BackgroundRBの起動と終了

起動は、

$ script/backgroundrb start

終了は、

$ script/backgroundrb stop

ワーカの生成と確認

デフォルトで作成されたワーカは、BackgroundRBが起動すると 自動的に生成される。(ここでいう生成とは、プロセスが生成 されるという意味) どのワーカが生成されているかの確認は、

MiddleMan.all_worker_info

で確認できる。次のように表示される

=> {"0.0.0.0:11006"=>[{:worker=>:foo_worker, :worker_key=>"", :status=>:running}, {:worker=>:log_worker, :worker_key=>"", :status=>:running}]}

:worker_keyは、同じワーカを複数生成する場合につけるキー。自動で生成されて いると何も入っていない。 BackgroundRBが起動時にワーカが自動的に生成されないようにするためには、 そのワーカのソースコード(たとえばfoo_worker.rb)に

set_no_auto_load true

をつける。

この場合は、必要に応じて手動でワーカを生成する。生成の仕方は、

MiddleMan.new_worker(:worker => :ワーカ名_worker , :worker_key=>ワーカキー )

で行う。たとえば、

MiddleMan.new_worker(:worker => :foo_worker )
MiddleMan.new_worker(:worker => :foo_worker , :worker_key=>"work1")

ワーカの削除は

MiddleMan.worker(:ワーカ名_worker,キー).delete

で行う。たとえば、

MiddleMan.worker(:foo_worker).delete
MiddleMan.worker(:foo_worker,"work1").delete