BackgrounDRbでワーカーの自動起動を制御するメソッド
set_no_auto_load
ワーカーを作ってBackgrounDRbサーバを起動すると基本的にワーカーが自動的に起動して待機した状態になる。
必要がないのにずっとアイドリングしているのはリソースの無駄だ。
あるいは開発中のワーカーが勝手に起動してしまうのは邪魔だ。
そんなことが気になる場合にはワーカーのコード内でset_no_auto_loadを引数trueで呼び出す。
するとワーカーが勝手に起動しない。
class FooWorker < BackgrounDRb::MetaWorker
set_worker_name :foo_worker
set_no_auto_load true
...
これをtrueにしたりfalseにしたりしつつ、script/consoleなどから
MiddleMan.all_worker_info
で確認するとワーカーが起動していたりしていなかったりする様が確認できる。
ちなみに手動で新しいワーカーを起動するには以下のコードで。
MiddleMan.new_worker(:worker => :foo_worker)
new_workerの返値はworkerじゃないので注意。
起動したworkerを取得するにはMiddleMan.workerを使わないといけない。