worker-army 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 59ec12d554f7bbbab1a78ce9d578eb136af8283e
4
- data.tar.gz: e1aa674d2b057c4a4d5ab37b335920b5bd5b2ea9
3
+ metadata.gz: e57d4e2bbfc1b896a308f8c06888a786ca98c696
4
+ data.tar.gz: 9d9c51660c91ba974d121f7d031fed8374814be8
5
5
  SHA512:
6
- metadata.gz: 4725ba9ea36829d7559820b753d34ea848b82ac8f92b1814a586da4e84972d3b006cd17ac552e39b58903feba450775f1574d1383f7f1fd0001d39d2b12a2883
7
- data.tar.gz: b697e10af515e02eba24df71d63418c2ce4970ea87e8abfc0dc3f16c1e1b9632ed7ce63d3e09ff93f22251f813a58218cdec476de04b7a7718d4ac78eff44f5c
6
+ metadata.gz: 88e41f4f1049ab465061498191ed8ebdd8869dbfbeff04fcbc95f84a5fee303117121f0a7a1410fcc47e29ed37c2e3931f92beb904c72ae3aea26352777a0bda
7
+ data.tar.gz: 904cede0b5a5ce32094e9a2b772b43997f7647e1d704699ca8db831ad2dfacf5dd84bfcd67e25d82139489f24fdd76a5603ed258e1773d9de8bd37571529751f
data/README.md CHANGED
@@ -31,6 +31,7 @@ If you can't provide or don't want to provide the config file at that location,
31
31
  worker_army_client_retry_count
32
32
  worker_army_callback_retry_count
33
33
  worker_army_store_job_data
34
+ worker_army_api_key
34
35
  worker_army_use_basic_auth
35
36
  worker_army_basic_auth_username
36
37
  worker_army_basic_auth_password
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.2
1
+ 0.6.3
@@ -32,6 +32,9 @@ module WorkerArmy
32
32
  if ENV['worker_army_basic_auth_password']
33
33
  config['basic_auth_password'] = ENV['worker_army_basic_auth_password']
34
34
  end
35
+ if ENV['worker_army_api_key']
36
+ config['api_key'] = ENV['worker_army_api_key']
37
+ end
35
38
  else
36
39
  begin
37
40
  # puts "Using config in your home directory"
@@ -11,7 +11,7 @@ module WorkerArmy
11
11
  raise "No job class provided" unless job_class
12
12
  worker_army_base_url = config['endpoint']
13
13
  callback_url = "#{worker_army_base_url}/generic_callback" unless callback_url
14
- response = nil
14
+ response = nil; response_data = { 'success' => false }
15
15
  begin
16
16
  response = RestClient.post "#{worker_army_base_url}/jobs",
17
17
  data.merge(
@@ -19,21 +19,22 @@ module WorkerArmy
19
19
  callback_url: "#{worker_army_base_url}/callback?callback_url=#{callback_url}",
20
20
  queue_prefix: queue_prefix
21
21
  ).to_json,
22
- :content_type => :json, :accept => :json
22
+ :content_type => :json, :accept => :json, "api_key" => config['api_key']
23
23
  rescue => e
24
24
  puts "Failed! Retrying (#{retry_count})..."
25
25
  retry_count += 1
26
- if retry_count < client_retry_count(config)
26
+ if retry_count < client_retry_count(config) and not e.message == '401 Unauthorized'
27
27
  sleep (retry_count * 2)
28
28
  push_job(job_class, data, callback_url, queue_prefix, retry_count)
29
+ elsif e.message == "401 Unauthorized"
30
+ response_data = response_data.merge('error_message' => '401 Unauthorized')
29
31
  end
30
32
  end
31
33
  if response and response.body and response.code == 200
32
34
  hash = JSON.parse(response.body)
33
- hash.merge('success' => true)
34
- else
35
- { 'success' => false }
35
+ return hash.merge('success' => true)
36
36
  end
37
+ response_data
37
38
  end
38
39
  end
39
40
  end
@@ -48,6 +48,9 @@ else
48
48
  end
49
49
 
50
50
  post '/jobs' do
51
+ unless request.env['HTTP_API_KEY'] == queue.config['api_key']
52
+ halt 401, "Not authorized\n"
53
+ end
51
54
  data = JSON.parse(request.body.read)
52
55
  queue_job = queue.push data if data
53
56
  json queue_job
data/worker-army.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: worker-army 0.6.2 ruby lib
5
+ # stub: worker-army 0.6.3 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "worker-army"
9
- s.version = "0.6.2"
9
+ s.version = "0.6.3"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Oliver Kiessler"]
14
- s.date = "2014-08-02"
14
+ s.date = "2014-08-03"
15
15
  s.description = "Simple redis based worker queue with a HTTP/Rest interface"
16
16
  s.email = "kiessler@inceedo.com"
17
17
  s.executables = ["worker_army"]
@@ -5,6 +5,7 @@ redis_auth: "YOUR_PASS"
5
5
  client_retry_count: 10
6
6
  worker_retry_count: 10
7
7
  callback_retry_count: 5
8
+ api_key: "YOUR_TOKEN"
8
9
  store_job_data: true
9
10
  use_basic_auth: false
10
11
  basic_auth_username: "admin"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worker-army
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Kiessler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-02 00:00:00.000000000 Z
11
+ date: 2014-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis