Class: Backburner::CLI
- Inherits:
-
Object
- Object
- Backburner::CLI
- Defined in:
- lib/backburner/cli.rb
Class Method Summary collapse
Class Method Details
.load_environment(file = nil, environment = nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/backburner/cli.rb', line 29 def self.load_environment(file = nil, environment = nil) file ||= "." if File.directory?(file) && File.exist?(File.("#{file}/config/environment.rb")) ENV["RAILS_ENV"] = environment if environment && ENV["RAILS_ENV"].nil? require "rails" require File.("#{file}/config/environment.rb") if defined?(::Rails) && ::Rails.respond_to?(:application) # Rails 3 ::Rails.application.eager_load! elsif defined?(::Rails::Initializer) # Rails 2.3 $rails_rake_task = false ::Rails::Initializer.run :load_application_classes end elsif File.directory?(file) && File.exist?(File.("#{file}/config/boot.rb")) ENV["RACK_ENV"] = environment if environment && ENV["RACK_ENV"].nil? ENV["PADRINO_ROOT"] = file require File.("#{file}/config/boot.rb") elsif File.file?(file) require File.(file) end end |
.start(args) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/backburner/cli.rb', line 6 def self.start(args) runner = Dante::Runner.new('backburner') runner.description = "Execute a backburner worker process" runner. do |opts| opts.on("-r", "--require PATH", String, "The path to load as the environment.") do |req| [:require] = req end opts.on("-q", "--queues PATH", String, "The specific queues to work.") do |queues| [:queues] = queues end opts.on("-e", "--environment ENVIRONMENT", String, "The environment to run Backburner within") do |environment| [:environment] = environment end end runner.execute do |opts| queues = (opts[:queues] ? opts[:queues].split(',') : nil) rescue nil load_environment(opts[:require], opts[:environment]) Backburner.work(queues) end end |