Module: Bj::Runner::ClassMethods
- Defined in:
- lib/bj/runner.rb
Instance Method Summary collapse
- #background ⇒ Object
- #background=(value) ⇒ Object
- #command ⇒ Object
- #key(ppid = 0) ⇒ Object
- #log ⇒ Object
- #logdir ⇒ Object
- #no_tickle_key ⇒ Object
- #ping ⇒ Object
- #run(options = {}, &block) ⇒ Object
- #start(options = {}) ⇒ Object
- #tickle ⇒ Object
Instance Method Details
#background ⇒ Object
110 111 112 |
# File 'lib/bj/runner.rb', line 110 def background @background ||= Hash.new end |
#background=(value) ⇒ Object
114 115 116 |
# File 'lib/bj/runner.rb', line 114 def background= value @background ||= value end |
#command ⇒ Object
118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/bj/runner.rb', line 118 def command "#{ Bj.ruby } " + %W[ #{ Bj.script } run --forever --redirect=#{ log } --ppid=#{ Process.pid } --rails_env=#{ Bj.rails_env } --rails_root=#{ Bj.rails_root } ].map{|word| word.inspect}.join(" ") end |
#key(ppid = 0) ⇒ Object
95 96 97 98 |
# File 'lib/bj/runner.rb', line 95 def key ppid = 0 ppid ||= 0 "#{ Bj.rails_env }.#{ ppid }.pid" end |
#log ⇒ Object
130 131 132 |
# File 'lib/bj/runner.rb', line 130 def log File.join logdir, "bj.#{ Bj.hostname }.#{ Bj.rails_env }.log" end |
#logdir ⇒ Object
134 135 136 |
# File 'lib/bj/runner.rb', line 134 def logdir File.join File.(Bj.rails_root), 'log' end |
#no_tickle_key ⇒ Object
100 101 102 |
# File 'lib/bj/runner.rb', line 100 def no_tickle_key "#{ Bj.rails_env }.no_tickle" end |
#ping ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/bj/runner.rb', line 65 def ping begin pid = nil uri = nil process = nil Bj.transaction do pid = Bj.config[Runner.key(Process.pid)] || Bj.config[Runner.key] uri = Bj.config["#{ pid }.uri"] process = if uri require "drb" # DRb.start_service "druby://localhost:0" DRbObject.new(nil, uri) else Process end end return nil unless pid pid = Integer pid begin process.kill Runner.hup_signal, pid pid rescue Exception => e false end rescue Exception => e false end end |
#run(options = {}, &block) ⇒ Object
138 139 140 |
# File 'lib/bj/runner.rb', line 138 def run = {}, &block new(, &block).run end |
#start(options = {}) ⇒ Object
104 105 106 107 108 |
# File 'lib/bj/runner.rb', line 104 def start = {} . background.delete Bj.rails_env if [:force] background[Bj.rails_env] ||= Background.for(command) end |