module Patriot::Tool::PatriotCommands::Register
register jobs to JobStore
Public Instance Methods
register(date, *paths)
click to toggle source
# File lib/patriot/tool/patriot_commands/register.rb, line 37 def register(date, *paths) begin # set config/options opts = symbolize_options(options) conf = {:type => 'register'} conf[:path] = opts[:config] if opts.has_key?(:config) config = load_config(conf) opts = {:update_id => Time.now.to_i, :store_id => Patriot::JobStore::ROOT_STORE_ID, :retry_interval => 300, :retry_limite => 10}.merge(opts) if opts[:keep_state] opts[:state] = nil opts[:update_id] = nil end job_store = Patriot::JobStore::Factory.create_jobstore(opts[:store_id], config) parser = Patriot::Tool::BatchParser.new(config) jobs = [] parser.process(date, paths, opts) do |cmd| job = cmd.to_job job[Patriot::Command::PRIORITY_ATTR] = opts[:priority] if opts.has_key?(:priority) job[Patriot::Command::STATE_ATTR] = opts[:state] if opts.has_key?(:state) jobs << job end return if opts[:debug] job_store.register(opts[:update_id], jobs) if opts[:retry_dep] job_store.process_subsequent(jobs.map(&:job_id)) do |job_store, jobs| job_store.set_state(opts[:update_id], jobs.map(&:job_id), Patriot::JobStore::JobState::WAIT) end end rescue => e puts e $@.each{|m| puts m} raise e.message end end