module Postqueue::CLI
Attributes
options[R]
Public Instance Methods
active_record_config()
click to toggle source
# File lib/postqueue/cli.rb, line 49 def active_record_config require "yaml" database_config = YAML.load_file "config/database.yml" env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development" database_config.fetch(env) end
connect_to_database!()
click to toggle source
# File lib/postqueue/cli.rb, line 41 def connect_to_database! abc = active_record_config username, host, database = abc.values_at "username", "host", "database" Postqueue.logger.info "Connecting to postgres:#{username}@#{host}/#{database}" ActiveRecord::Base.establish_connection(abc) end
connect_to_rails!()
click to toggle source
# File lib/postqueue/cli.rb, line 32 def connect_to_rails! if File.exist?("config/environment.rb") load "config/environment.rb" else logger.warn "Trying to load postqueue configuration from config/postqueue.rb" load "config/postqueue.rb" end end
run(argv)
click to toggle source
# File lib/postqueue/cli.rb, line 12 def run(argv) @options = OptionsParser.parse_args(argv) case options.sub_command when "stats", "peek" connect_to_database! Stats.send options.sub_command, options when "enqueue" connect_to_database! count = Postqueue.enqueue op: options.op, entity_id: options.entity_ids Postqueue.logger.info "Enqueued #{count} queue items" when "process" connect_to_rails! Postqueue.process batch_size: 1 when "run" connect_to_rails! Postqueue.run! end end