Class: Rukawa::Runner
- Inherits:
-
Object
- Object
- Rukawa::Runner
- Defined in:
- lib/rukawa/runner.rb
Constant Summary collapse
- DEFAULT_REFRESH_INTERVAL =
3
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(root_job_net) ⇒ Runner
constructor
A new instance of Runner.
- #run(batch_mode = false, refresh_interval = DEFAULT_REFRESH_INTERVAL) ⇒ Object
Constructor Details
#initialize(root_job_net) ⇒ Runner
Returns a new instance of Runner.
13 14 15 |
# File 'lib/rukawa/runner.rb', line 13 def initialize(root_job_net) @root_job_net = root_job_net end |
Class Method Details
.run(job_net, batch_mode = false, refresh_interval = DEFAULT_REFRESH_INTERVAL) ⇒ Object
9 10 11 |
# File 'lib/rukawa/runner.rb', line 9 def self.run(job_net, batch_mode = false, refresh_interval = DEFAULT_REFRESH_INTERVAL) new(job_net).run(batch_mode, refresh_interval) end |
Instance Method Details
#run(batch_mode = false, refresh_interval = DEFAULT_REFRESH_INTERVAL) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/rukawa/runner.rb', line 17 def run(batch_mode = false, refresh_interval = DEFAULT_REFRESH_INTERVAL) displayed_at = Time.at(0) promise = @root_job_net.run do unless batch_mode if Time.now - displayed_at >= refresh_interval displayed_at = Time.now Overview.display_running_status(@root_job_net) end end end futures = promise.value Overview.display_running_status(@root_job_net) unless batch_mode puts "Finished #{@root_job_net.name} in #{@root_job_net.formatted_elapsed_time_from}" if futures.all?(&:fulfilled?) true else false end end |