class Patriot::Worker::Servlet::JobAPIServlet

provide job management functionalities

Private Instance Methods

_build_command(clazz, params) click to toggle source

@private

# File lib/patriot/worker/servlet/job_api_servlet.rb, line 143
def _build_command(clazz, params)
  _params = params.dup
  _params["target_datetime"] = Date.today
  cmd = clazz.new(@@config)
  cmd.produce(_params.delete("products")) unless _params["products"].nil?
  cmd.require(_params.delete("requisites")) unless _params["requisites"].nil?
  cmds = cmd.build(_params)
  return cmds.map{|c| c.to_job}
end
_set_state_of_jobs(job_ids, state, opts = {}) click to toggle source

@private

# File lib/patriot/worker/servlet/job_api_servlet.rb, line 124
def _set_state_of_jobs(job_ids, state, opts = {})
  job_ids = [job_ids] unless job_ids.is_a? Array
  opts = {'with_subsequent' => false}.merge(opts)
  opts = {:include_subsequent => false}.merge(opts)
  update_id = Time.now.to_i
  @@worker.job_store.set_state(update_id, job_ids, state)
  if opts['with_subsequent']
    @@worker.job_store.process_subsequent(job_ids) do |job_store, jobs|
      next if jobs.empty?
      subsequent_ids = jobs.map(&:job_id)
      @@worker.job_store.set_state(update_id, subsequent_ids, state)
      job_ids |= subsequent_ids
    end
  end
  return job_ids.uniq
end