workerholic 0.0.14 → 0.0.15
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/.gitignore +1 -0
- data/app_test/job_test.rb +17 -0
- data/app_test/run.rb +14 -1
- data/lib/workerholic.rb +3 -0
- data/lib/workerholic/cli.rb +21 -33
- data/lib/workerholic/job.rb +7 -6
- data/lib/workerholic/job_processor.rb +7 -4
- data/lib/workerholic/job_retry.rb +1 -8
- data/lib/workerholic/job_scheduler.rb +1 -1
- data/lib/workerholic/manager.rb +7 -13
- data/lib/workerholic/starter.rb +106 -0
- data/lib/workerholic/statistics_api.rb +39 -7
- data/lib/workerholic/statistics_storage.rb +11 -0
- data/lib/workerholic/storage.rb +32 -13
- data/lib/workerholic/version.rb +1 -1
- data/pkg/workerholic-0.0.14.gem +0 -0
- data/spec/helpers/helper_methods.rb +1 -0
- data/spec/helpers/job_tests.rb +9 -2
- data/spec/integration/enqueuing_jobs_spec.rb +17 -0
- data/spec/job_processor_spec.rb +9 -9
- data/spec/job_retry_spec.rb +4 -4
- data/spec/job_scheduler_spec.rb +6 -23
- data/spec/spec_helper.rb +5 -1
- data/spec/storage_spec.rb +19 -0
- data/spec/worker_balancer_spec.rb +2 -2
- data/web/application.rb +13 -19
- data/web/public/javascripts/application.js +287 -241
- data/web/public/stylesheets/application.css +10 -8
- data/web/views/layout.erb +0 -4
- data/web/views/overview.erb +57 -0
- metadata +5 -4
- data/Gemfile.lock +0 -62
- data/web/views/index.erb +0 -46
@@ -19,13 +19,6 @@ section {
|
|
19
19
|
margin: 0 auto;
|
20
20
|
}
|
21
21
|
|
22
|
-
footer {
|
23
|
-
position: fixed;
|
24
|
-
bottom: 0;
|
25
|
-
left: 0;
|
26
|
-
width: 100%;
|
27
|
-
}
|
28
|
-
|
29
22
|
footer p {
|
30
23
|
display: inline-block;
|
31
24
|
width: 100%;
|
@@ -66,6 +59,15 @@ nav a:hover {
|
|
66
59
|
width: 200px;
|
67
60
|
}
|
68
61
|
|
69
|
-
|
62
|
+
.count {
|
63
|
+
width: 50%;
|
64
|
+
}
|
65
|
+
|
66
|
+
.chart {
|
70
67
|
margin-top: 50px;
|
71
68
|
}
|
69
|
+
|
70
|
+
.nested th {
|
71
|
+
display: none;
|
72
|
+
padding-left: 50px
|
73
|
+
}
|
data/web/views/layout.erb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
<!-- <div id="statistics">
|
2
|
+
<h2>Your current jobs overview</h2>
|
3
|
+
<p id="completed">Finished Jobs: 0</p>
|
4
|
+
<p>Jobs in queue: 100,000,000</p>
|
5
|
+
<p id="failed">Jobs failed: 10,000,000</p>
|
6
|
+
</div> -->
|
7
|
+
|
8
|
+
<table class='table is-striped'>
|
9
|
+
<thead>
|
10
|
+
<tr>
|
11
|
+
<th>Category</th>
|
12
|
+
<th>Count</th>
|
13
|
+
</tr>
|
14
|
+
</thead>
|
15
|
+
<tbody>
|
16
|
+
<tr>
|
17
|
+
<td>Finished Jobs</td>
|
18
|
+
<td class='completed_jobs count'></td>
|
19
|
+
</tr>
|
20
|
+
<tr>
|
21
|
+
<td>Queued Jobs</td>
|
22
|
+
<td class='queued_jobs_count count'></td>
|
23
|
+
</tr>
|
24
|
+
<tr>
|
25
|
+
<td>Failed Jobs</td>
|
26
|
+
<td class='failed_jobs count'></td>
|
27
|
+
</tr>
|
28
|
+
<tr>
|
29
|
+
<td>Number of Queues</td>
|
30
|
+
<td class='queue_count count'></td>
|
31
|
+
</tr>
|
32
|
+
<tr>
|
33
|
+
<td>Number of Workers</td>
|
34
|
+
<td class='workers_count count'></td>
|
35
|
+
</tr>
|
36
|
+
<tr id='memory_usage'>
|
37
|
+
<td>Total Memory Usage</td>
|
38
|
+
<td class='memory_usage count'>0</td>
|
39
|
+
</tr>
|
40
|
+
<tr class='nested'>
|
41
|
+
<th>Process Id</th>
|
42
|
+
<th>Memory Usage</th>
|
43
|
+
</tr>
|
44
|
+
</tbody>
|
45
|
+
</table>
|
46
|
+
|
47
|
+
<div id="queued_jobs_container" class="chart" style="height: 300px; width: 100%">
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<div id="failed_jobs_container" class="chart" style="height: 300px; width: 100%">
|
51
|
+
</div>
|
52
|
+
|
53
|
+
<div id="jobs_processed_container" class="chart" style="height: 300px; width: 100%">
|
54
|
+
</div>
|
55
|
+
|
56
|
+
<div id="total_memory_container" class="chart" style="height: 300px; width: 100%">
|
57
|
+
</div>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workerholic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antoine Leclercq
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-08-
|
13
|
+
date: 2017-08-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: redis
|
@@ -114,7 +114,6 @@ files:
|
|
114
114
|
- ".gitignore"
|
115
115
|
- ".rspec"
|
116
116
|
- Gemfile
|
117
|
-
- Gemfile.lock
|
118
117
|
- LICENSE
|
119
118
|
- README.md
|
120
119
|
- Rakefile
|
@@ -136,12 +135,14 @@ files:
|
|
136
135
|
- lib/workerholic/manager.rb
|
137
136
|
- lib/workerholic/queue.rb
|
138
137
|
- lib/workerholic/sorted_set.rb
|
138
|
+
- lib/workerholic/starter.rb
|
139
139
|
- lib/workerholic/statistics_api.rb
|
140
140
|
- lib/workerholic/statistics_storage.rb
|
141
141
|
- lib/workerholic/storage.rb
|
142
142
|
- lib/workerholic/version.rb
|
143
143
|
- lib/workerholic/worker.rb
|
144
144
|
- lib/workerholic/worker_balancer.rb
|
145
|
+
- pkg/workerholic-0.0.14.gem
|
145
146
|
- spec/helpers/helper_methods.rb
|
146
147
|
- spec/helpers/job_tests.rb
|
147
148
|
- spec/integration/dequeuing_and_job_processing_spec.rb
|
@@ -165,8 +166,8 @@ files:
|
|
165
166
|
- web/public/stylesheets/whitespace-reset.css
|
166
167
|
- web/views/details.erb
|
167
168
|
- web/views/failed.erb
|
168
|
-
- web/views/index.erb
|
169
169
|
- web/views/layout.erb
|
170
|
+
- web/views/overview.erb
|
170
171
|
- web/views/queues.erb
|
171
172
|
- web/views/scheduled.erb
|
172
173
|
- web/views/workers.erb
|
data/Gemfile.lock
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
workerholic (0.0.9)
|
5
|
-
connection_pool (~> 2.2, >= 2.2.0)
|
6
|
-
redis (~> 3.3, >= 3.3.3)
|
7
|
-
sinatra
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: https://rubygems.org/
|
11
|
-
specs:
|
12
|
-
byebug (9.0.6)
|
13
|
-
coderay (1.1.1)
|
14
|
-
connection_pool (2.2.1)
|
15
|
-
diff-lcs (1.3)
|
16
|
-
method_source (0.8.2)
|
17
|
-
mustermann (1.0.0)
|
18
|
-
pry (0.10.4)
|
19
|
-
coderay (~> 1.1.0)
|
20
|
-
method_source (~> 0.8.1)
|
21
|
-
slop (~> 3.4)
|
22
|
-
pry-byebug (3.4.2)
|
23
|
-
byebug (~> 9.0)
|
24
|
-
pry (~> 0.10)
|
25
|
-
rack (2.0.3)
|
26
|
-
rack-protection (2.0.0)
|
27
|
-
rack
|
28
|
-
redis (3.3.3)
|
29
|
-
rspec (3.6.0)
|
30
|
-
rspec-core (~> 3.6.0)
|
31
|
-
rspec-expectations (~> 3.6.0)
|
32
|
-
rspec-mocks (~> 3.6.0)
|
33
|
-
rspec-core (3.6.0)
|
34
|
-
rspec-support (~> 3.6.0)
|
35
|
-
rspec-expectations (3.6.0)
|
36
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
37
|
-
rspec-support (~> 3.6.0)
|
38
|
-
rspec-mocks (3.6.0)
|
39
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
-
rspec-support (~> 3.6.0)
|
41
|
-
rspec-support (3.6.0)
|
42
|
-
sinatra (2.0.0)
|
43
|
-
mustermann (~> 1.0)
|
44
|
-
rack (~> 2.0)
|
45
|
-
rack-protection (= 2.0.0)
|
46
|
-
tilt (~> 2.0)
|
47
|
-
slop (3.6.0)
|
48
|
-
tilt (2.0.8)
|
49
|
-
|
50
|
-
PLATFORMS
|
51
|
-
ruby
|
52
|
-
|
53
|
-
DEPENDENCIES
|
54
|
-
connection_pool (~> 2.2, >= 2.2.0)
|
55
|
-
pry-byebug
|
56
|
-
redis (~> 3.3, >= 3.3.3)
|
57
|
-
rspec (~> 3.6, >= 3.6.0)
|
58
|
-
sinatra
|
59
|
-
workerholic!
|
60
|
-
|
61
|
-
BUNDLED WITH
|
62
|
-
1.15.3
|
data/web/views/index.erb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
<!-- <div id="statistics">
|
2
|
-
<h2>Your current jobs overview</h2>
|
3
|
-
<p id="completed">Finished Jobs: 0</p>
|
4
|
-
<p>Jobs in queue: 100,000,000</p>
|
5
|
-
<p id="failed">Jobs failed: 10,000,000</p>
|
6
|
-
</div> -->
|
7
|
-
|
8
|
-
<table class='table is-striped'>
|
9
|
-
<thead>
|
10
|
-
<tr>
|
11
|
-
<th>Category</th>
|
12
|
-
<th>Count</th>
|
13
|
-
</tr>
|
14
|
-
</thead>
|
15
|
-
<tbody>
|
16
|
-
<tr>
|
17
|
-
<td>Finished Jobs</td>
|
18
|
-
<td class='completed_jobs'></td>
|
19
|
-
</tr>
|
20
|
-
<tr>
|
21
|
-
<td>Queued Jobs</td>
|
22
|
-
<td class='queued_jobs_count'></td>
|
23
|
-
</tr>
|
24
|
-
<tr>
|
25
|
-
<td>Failed Jobs</td>
|
26
|
-
<td class='failed_jobs'></td>
|
27
|
-
</tr>
|
28
|
-
<tr>
|
29
|
-
<td>Number of Queues</td>
|
30
|
-
<td class='queue_count'></td>
|
31
|
-
</tr>
|
32
|
-
<tr>
|
33
|
-
<td>Number of Workers</td>
|
34
|
-
<td class='workers_count'></td>
|
35
|
-
</tr>
|
36
|
-
</tbody>
|
37
|
-
</table>
|
38
|
-
|
39
|
-
<div id="queued_jobs_container" style="height: 300px; width: 100%">
|
40
|
-
</div>
|
41
|
-
|
42
|
-
<div id="failed_jobs_container" style="height: 300px; width: 100%">
|
43
|
-
</div>
|
44
|
-
|
45
|
-
<div id="jobs_processed_container" style="height: 300px; width: 100%">
|
46
|
-
</div>
|