worker-army 0.6.1 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|