class Jobly::API

Private Instance Methods

add_job(job, args={}) click to toggle source
# File lib/jobly/api.rb, line 48
def add_job(job, args={})
  job_class = Jobs.get_class job

  if !job_class
    response = {
      status: 'error',
      message: 'No such job',
      job: job,
      params: args
    }

    status 404
    logger.debug "[jobly server] No such job (#{job})"
    return response.to_json
  end

  args = args.convert_to_typed
  if args.empty?
    job_class.run_later
  else
    job_class.run_later args
  end
  
  response = {
    status: 'received',
    job: job,
    params: args,
  }

  logger.debug "[jobly server] Job received (#{job})"
  response.to_json + "\n"
end