worker-army 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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