worker-army 0.6.1 → 0.6.2
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 +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +3 -0
- data/README.md +3 -0
- data/VERSION +1 -1
- data/lib/worker_army/base.rb +9 -0
- data/lib/worker_army/web.rb +21 -2
- data/worker-army.gemspec +6 -3
- data/worker_army.yml.sample +3 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59ec12d554f7bbbab1a78ce9d578eb136af8283e
|
4
|
+
data.tar.gz: e1aa674d2b057c4a4d5ab37b335920b5bd5b2ea9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4725ba9ea36829d7559820b753d34ea848b82ac8f92b1814a586da4e84972d3b006cd17ac552e39b58903feba450775f1574d1383f7f1fd0001d39d2b12a2883
|
7
|
+
data.tar.gz: b697e10af515e02eba24df71d63418c2ce4970ea87e8abfc0dc3f16c1e1b9632ed7ce63d3e09ff93f22251f813a58218cdec476de04b7a7718d4ac78eff44f5c
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -65,6 +65,8 @@ GEM
|
|
65
65
|
rack (~> 1.4)
|
66
66
|
rack-protection (~> 1.4)
|
67
67
|
tilt (~> 1.3, >= 1.3.4)
|
68
|
+
sinatra-basic-auth (0.1.0)
|
69
|
+
sinatra
|
68
70
|
sinatra-contrib (1.4.2)
|
69
71
|
backports (>= 2.0)
|
70
72
|
multi_json
|
@@ -92,5 +94,6 @@ DEPENDENCIES
|
|
92
94
|
redis
|
93
95
|
rest-client
|
94
96
|
sinatra
|
97
|
+
sinatra-basic-auth
|
95
98
|
sinatra-contrib
|
96
99
|
unicorn
|
data/README.md
CHANGED
@@ -31,6 +31,9 @@ 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_use_basic_auth
|
35
|
+
worker_army_basic_auth_username
|
36
|
+
worker_army_basic_auth_password
|
34
37
|
|
35
38
|
## Server / Queue
|
36
39
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.2
|
data/lib/worker_army/base.rb
CHANGED
@@ -23,6 +23,15 @@ module WorkerArmy
|
|
23
23
|
if ENV['worker_army_store_job_data']
|
24
24
|
config['store_job_data'] = (ENV['worker_army_store_job_data'] == 'true')
|
25
25
|
end
|
26
|
+
if ENV['worker_army_use_basic_auth']
|
27
|
+
config['use_basic_auth'] = (ENV['worker_army_use_basic_auth'] == 'true')
|
28
|
+
end
|
29
|
+
if ENV['worker_army_basic_auth_username']
|
30
|
+
config['basic_auth_username'] = ENV['worker_army_basic_auth_username']
|
31
|
+
end
|
32
|
+
if ENV['worker_army_basic_auth_password']
|
33
|
+
config['basic_auth_password'] = ENV['worker_army_basic_auth_password']
|
34
|
+
end
|
26
35
|
else
|
27
36
|
begin
|
28
37
|
# puts "Using config in your home directory"
|
data/lib/worker_army/web.rb
CHANGED
@@ -2,16 +2,24 @@ require "json"
|
|
2
2
|
require "multi_json"
|
3
3
|
require "sinatra"
|
4
4
|
require "sinatra/json"
|
5
|
+
require "sinatra/basic_auth"
|
5
6
|
require File.dirname(__FILE__) + '/log'
|
6
7
|
require File.dirname(__FILE__) + '/queue'
|
7
8
|
|
8
9
|
queue = WorkerArmy::Queue.new
|
10
|
+
auth = false
|
11
|
+
if queue.config['use_basic_auth'] and queue.config['basic_auth_username'] and queue.config['basic_auth_password']
|
12
|
+
authorize do |username, password|
|
13
|
+
username == queue.config['basic_auth_username'] && password == queue.config['basic_auth_password']
|
14
|
+
end
|
15
|
+
auth = true
|
16
|
+
end
|
9
17
|
|
10
18
|
before do
|
11
19
|
content_type 'application/json', :charset => 'utf-8'
|
12
20
|
end
|
13
21
|
|
14
|
-
|
22
|
+
def overview(queue)
|
15
23
|
job_count = queue.get_job_count || 0
|
16
24
|
workers = queue.get_known_workers
|
17
25
|
last_ping = queue.last_ping || 0
|
@@ -25,7 +33,18 @@ get '/' do
|
|
25
33
|
workers: workers, last_worker_ping: last_ping.to_i, queues: queues,
|
26
34
|
current_jobs: current_jobs
|
27
35
|
}
|
28
|
-
|
36
|
+
end
|
37
|
+
|
38
|
+
if auth
|
39
|
+
protect do
|
40
|
+
get "/" do
|
41
|
+
json overview(queue)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
else
|
45
|
+
get '/' do
|
46
|
+
json overview(queue)
|
47
|
+
end
|
29
48
|
end
|
30
49
|
|
31
50
|
post '/jobs' do
|
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.
|
5
|
+
# stub: worker-army 0.6.2 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "worker-army"
|
9
|
-
s.version = "0.6.
|
9
|
+
s.version = "0.6.2"
|
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-
|
14
|
+
s.date = "2014-08-02"
|
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"]
|
@@ -60,6 +60,7 @@ Gem::Specification.new do |s|
|
|
60
60
|
s.add_runtime_dependency(%q<multi_json>, [">= 0"])
|
61
61
|
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
62
62
|
s.add_runtime_dependency(%q<sinatra-contrib>, [">= 0"])
|
63
|
+
s.add_runtime_dependency(%q<sinatra-basic-auth>, [">= 0"])
|
63
64
|
s.add_runtime_dependency(%q<rest-client>, [">= 0"])
|
64
65
|
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
65
66
|
s.add_runtime_dependency(%q<unicorn>, [">= 0"])
|
@@ -71,6 +72,7 @@ Gem::Specification.new do |s|
|
|
71
72
|
s.add_dependency(%q<multi_json>, [">= 0"])
|
72
73
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
73
74
|
s.add_dependency(%q<sinatra-contrib>, [">= 0"])
|
75
|
+
s.add_dependency(%q<sinatra-basic-auth>, [">= 0"])
|
74
76
|
s.add_dependency(%q<rest-client>, [">= 0"])
|
75
77
|
s.add_dependency(%q<rake>, [">= 0"])
|
76
78
|
s.add_dependency(%q<unicorn>, [">= 0"])
|
@@ -83,6 +85,7 @@ Gem::Specification.new do |s|
|
|
83
85
|
s.add_dependency(%q<multi_json>, [">= 0"])
|
84
86
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
85
87
|
s.add_dependency(%q<sinatra-contrib>, [">= 0"])
|
88
|
+
s.add_dependency(%q<sinatra-basic-auth>, [">= 0"])
|
86
89
|
s.add_dependency(%q<rest-client>, [">= 0"])
|
87
90
|
s.add_dependency(%q<rake>, [">= 0"])
|
88
91
|
s.add_dependency(%q<unicorn>, [">= 0"])
|
data/worker_army.yml.sample
CHANGED
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.
|
4
|
+
version: 0.6.2
|
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-
|
11
|
+
date: 2014-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sinatra-basic-auth
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rest-client
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|