module Patriot::Tool::PatriotCommands::Job
handle jobs in JobStore
Public Instance Methods
build_producer_string_values(job_store, job_id, indent)
click to toggle source
# File lib/patriot/tool/patriot_commands/job.rb, line 38 def build_producer_string_values(job_store, job_id, indent) values = [] job = job_store.get(job_id) job[Patriot::Command::REQUISITES_ATTR].each do |product| products = job_store.get_producers(product) values << "#{' '*indent}<= #{product} = WARN: no producer exists" if products.empty? products.each do |p| jid = p[:job_id] state = p[Patriot::Command::STATE_ATTR] dep_status = "#{jid}, #{state}" producer_job = job_store.get(jid, :include_dependency => true) unless producer_job[:consumers].map{|c| c[:job_id]}.include?(job_id) dep_status = "WARN: currupted dependency #{dep_status}" end values << "#{' '*indent}<= #{product} = #{dep_status}" values |= build_producer_string_values(job_store, jid, indent+1) end end return values end
job(subcmd, *job_id)
click to toggle source
# File lib/patriot/tool/patriot_commands/job.rb, line 9 def job(subcmd, *job_id) opts = symbolize_options(options) conf = {:type => 'job'} conf[:path] = opts[:config] if opts.has_key?(:config) config = load_config(conf) job_store = Patriot::JobStore::Factory.create_jobstore(Patriot::JobStore::ROOT_STORE_ID, config) case subcmd when "delete" job_id.each do |jid| if job_store.delete_job(jid) puts "#{jid} is deleted" else puts "#{jid} does not exist" end end when "show_dependency" job_id.each do |jid| dep = "" dep = [job_id] | build_producer_string_values(job_store, jid, 1) puts dep.join("\n")+"\n" end else puts "unknown sub command #{subcmd}" help('job') end end