Sha256: 5335742ee8e9fc1933b16138d4084577805121917797d520301be40ae71a2f9f
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require "rest-client" require "json" require "multi_json" module WorkerArmy class Client def self.push_job(job_class, data = {}, callback_url = nil, queue_name = 'queue') raise "No data" unless data raise "No job class provided" unless job_class if ENV['worker_army_endpoint'] puts "Using environment variables for config..." @config = { endpoint: ENV['worker_army_endpoint'] } else begin puts "Using config in your home directory" @config = YAML.load(File.read("#{ENV['HOME']}/.worker_army.yml")) rescue Errno::ENOENT raise "worker_army.yml expected in ~/.worker_army.yml" end end worker_army_base_url = @config['endpoint'] callback_url = "#{worker_army_base_url}/generic_callback" unless callback_url response = RestClient.post "#{worker_army_base_url}/jobs", data.merge( job_class: job_class, callback_url: "#{worker_army_base_url}/callback?callback_url=#{callback_url}", queue_name: queue_name ).to_json, :content_type => :json, :accept => :json response.code == 200 end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
worker-army-0.2.1 | lib/worker_army/client.rb |
worker-army-0.2.0 | lib/worker_army/client.rb |