「BackgroundRB:使い方1」の編集履歴(バックアップ)一覧はこちら
「BackgroundRB:使い方1」(2008/11/08 (土) 05:29:37) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
[[トップページ]] > [[Ruby on Rails>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 )
たとえば、
MiddleMan.new_worker(:worker => :foo_worker )
で行う。worker_keyを指定する場合は、次のようにする
MiddleMan.new_worker(:worker => :foo_worker , :worker_key=>"work1")
[[トップページ]] > [[Ruby on Rails>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