Sha256: 264e995e47e8cdac49d3ff1a1b693794c58e77850e804ee2aeed75e53fc0fff6
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
at_exit do Juici::App.shutdown end module Juici class App @@watchers = [] def self.shutdown ::Juici.dbgp "Shutting down Juici" ::Juici::Watcher.instance.shutdown! shutdown_build_queue end attr_reader :opts def initialize(opts={}) Database.initialize! @opts = opts reset_stale_children start_watcher init_build_queue reload_unfinished_work start_queue end private def init_build_queue $build_queue ||= BuildQueue.new end def self.shutdown_build_queue if $build_queue $build_queue.shutdown! $build_queue = nil end # Find any remaining children and kill them # Ensure that any killed builds will be retried end def start_watcher ::Juici::Watcher.instance.start end def reload_unfinished_work # At this point no workers have started yet, we can safely assume that # :started means aborted Build.where(:status => Juici::BuildStatus::WAIT).each do |build| $build_queue << build end end def reset_stale_children Build.where(:status => Juici::BuildStatus::START).each do |build| build[:status] = Juici::BuildStatus::WAIT build.save! end end def start_queue $build_queue.start! end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
juici-0.0.1.alpha1 | lib/juici/app.rb |
juici-0.0.0.alpha1 | lib/juici/app.rb |