workerholic 0.0.8 → 0.0.9

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app_test/job_test.rb +1 -6
  4. data/app_test/run.rb +47 -39
  5. data/lib/workerholic/adapters/active_job_adapter.rb +8 -6
  6. data/lib/workerholic/cli.rb +11 -4
  7. data/lib/workerholic/job.rb +3 -2
  8. data/lib/workerholic/job_processor.rb +17 -6
  9. data/lib/workerholic/job_retry.rb +5 -2
  10. data/lib/workerholic/job_scheduler.rb +5 -2
  11. data/lib/workerholic/job_serializer.rb +8 -0
  12. data/lib/workerholic/job_statistics.rb +38 -0
  13. data/lib/workerholic/job_wrapper.rb +14 -5
  14. data/lib/workerholic/manager.rb +5 -0
  15. data/lib/workerholic/statistics_api.rb +77 -0
  16. data/lib/workerholic/statistics_storage.rb +19 -0
  17. data/lib/workerholic/storage.rb +25 -0
  18. data/lib/workerholic/version.rb +1 -1
  19. data/lib/workerholic/worker.rb +3 -0
  20. data/lib/workerholic/worker_balancer.rb +0 -1
  21. data/lib/workerholic.rb +7 -1
  22. data/pkg/workerholic-0.0.8.gem +0 -0
  23. data/spec/integration/enqueuing_jobs_spec.rb +5 -3
  24. data/spec/job_processor_spec.rb +7 -7
  25. data/spec/{statistics_spec.rb → job_statistics.rb} +10 -5
  26. data/spec/job_wrapper_spec.rb +7 -4
  27. data/spec/worker_spec.rb +2 -2
  28. data/web/application.rb +13 -6
  29. data/web/public/javascripts/application.js +109 -0
  30. data/web/public/stylesheets/application.css +30 -14
  31. data/web/views/details.erb +48 -31
  32. data/web/views/failed.erb +27 -0
  33. data/web/views/index.erb +38 -33
  34. data/web/views/layout.erb +36 -0
  35. data/web/views/queues.erb +31 -0
  36. data/web/views/scheduled.erb +27 -0
  37. data/web/views/workers.erb +41 -41
  38. metadata +13 -5
  39. data/lib/workerholic/statistics.rb +0 -21
@@ -1,45 +1,45 @@
1
- <html>
2
- <head>
3
- <title>Workerholic Overview</title>
4
- <link href="https://fonts.googleapis.com/css?family=Dosis" rel="stylesheet">
5
- <link href='stylesheets/application.css' rel='stylesheet'>
6
- </head>
1
+ <table class='table'>
2
+ <thead>
3
+ <tr>
4
+ <th>Worker</th>
5
+ <th>Queue</th>
6
+ <th>Class</th>
7
+ <th>Arguments</th>
8
+ </tr>
9
+ </thead>
7
10
 
8
- <body>
9
- <header>
10
- Workerholic
11
- </header>
12
- <nav>
13
- <ul>
14
- <li><a href='/'>Overview</a></li>
15
- <li><a href='/details'>Job Details</a></li>
16
- <li><a href='/placehold'>Queues</a></li>
17
- <li><a href='/workers'>Workers</a></li>
18
- <li><a href='/what'>Failed</a></li>
19
- <li><a href='/what'>Scheduled</a></li>
20
- </ul>
21
- </nav>
11
+ <tr>
12
+ <td>Worker 1</td>
13
+ <td>workerholic:queue:main</td>
14
+ <td>GetPrimes</td>
15
+ <td>[n, 1000000]</td>
16
+ </tr>
22
17
 
23
- <div id="workers">
24
- <table>
25
- <tr>
26
- <th>Worker</th>
27
- <th>Queue</th>
28
- <th>Class</th>
29
- <th>Arguments</th>
30
- </tr>
31
- <tr>
32
- <td>Worker 1</td>
33
- <td>workerholic:queue:main</td>
34
- <td>GetPrimes</td>
35
- <td>[n, 1000000]</td>
36
- </tr>
37
- </table>
38
- </div>
18
+ <tr>
19
+ <td>Worker 2</td>
20
+ <td>workerholic:queue:main</td>
21
+ <td>GetPrimes</td>
22
+ <td>[n, 1000000]</td>
23
+ </tr>
39
24
 
40
- <footer>
41
- <p>&copy; 2017 Workerholic. All rights reserved.</p>
42
- </footer>
25
+ <tr>
26
+ <td>Worker 3</td>
27
+ <td>workerholic:queue:email</td>
28
+ <td>SendWelcomeEmail</td>
29
+ <td>[{ email_address: 'kminevsky@email.com', title: 'I\'m Konstantine', body: 'please hire me' }]</td>
30
+ </tr>
43
31
 
44
- </body>
45
- </html>
32
+ <tr>
33
+ <td>Worker 4</td>
34
+ <td>workerholic:queue:scheduled</td>
35
+ <td>RequestAPI</td>
36
+ <td>[n, 1000000]</td>
37
+ </tr>
38
+
39
+ <tr>
40
+ <td>Worker 5</td>
41
+ <td>workerholic:queue:main</td>
42
+ <td>GetPrimes</td>
43
+ <td>[n, 1000000]</td>
44
+ </tr>
45
+ </table>
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.8
4
+ version: 0.0.9
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-07-28 00:00:00.000000000 Z
13
+ date: 2017-07-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: redis
@@ -128,12 +128,14 @@ files:
128
128
  - lib/workerholic/job_retry.rb
129
129
  - lib/workerholic/job_scheduler.rb
130
130
  - lib/workerholic/job_serializer.rb
131
+ - lib/workerholic/job_statistics.rb
131
132
  - lib/workerholic/job_wrapper.rb
132
133
  - lib/workerholic/log_manager.rb
133
134
  - lib/workerholic/manager.rb
134
135
  - lib/workerholic/queue.rb
135
136
  - lib/workerholic/sorted_set.rb
136
- - lib/workerholic/statistics.rb
137
+ - lib/workerholic/statistics_api.rb
138
+ - lib/workerholic/statistics_storage.rb
137
139
  - lib/workerholic/storage.rb
138
140
  - lib/workerholic/version.rb
139
141
  - lib/workerholic/worker.rb
@@ -144,6 +146,7 @@ files:
144
146
  - pkg/workerholic-0.0.5.gem
145
147
  - pkg/workerholic-0.0.6.gem
146
148
  - pkg/workerholic-0.0.7.gem
149
+ - pkg/workerholic-0.0.8.gem
147
150
  - spec/helpers/helper_methods.rb
148
151
  - spec/helpers/job_tests.rb
149
152
  - spec/integration/dequeuing_and_job_processing_spec.rb
@@ -152,20 +155,25 @@ files:
152
155
  - spec/job_retry_spec.rb
153
156
  - spec/job_scheduler_spec.rb
154
157
  - spec/job_serializer_spec.rb
158
+ - spec/job_statistics.rb
155
159
  - spec/job_wrapper_spec.rb
156
160
  - spec/manager_spec.rb
157
161
  - spec/queue_spec.rb
158
162
  - spec/sorted_set_spec.rb
159
163
  - spec/spec_helper.rb
160
- - spec/statistics_spec.rb
161
164
  - spec/storage_spec.rb
162
165
  - spec/worker_balancer_spec.rb
163
166
  - spec/worker_spec.rb
164
167
  - web/application.rb
168
+ - web/public/javascripts/application.js
165
169
  - web/public/stylesheets/application.css
166
170
  - web/public/stylesheets/whitespace-reset.css
167
171
  - web/views/details.erb
172
+ - web/views/failed.erb
168
173
  - web/views/index.erb
174
+ - web/views/layout.erb
175
+ - web/views/queues.erb
176
+ - web/views/scheduled.erb
169
177
  - web/views/workers.erb
170
178
  - workerholic.gemspec
171
179
  homepage: https://github.com/workerholic/workerholic
@@ -201,12 +209,12 @@ test_files:
201
209
  - spec/job_retry_spec.rb
202
210
  - spec/job_scheduler_spec.rb
203
211
  - spec/job_serializer_spec.rb
212
+ - spec/job_statistics.rb
204
213
  - spec/job_wrapper_spec.rb
205
214
  - spec/manager_spec.rb
206
215
  - spec/queue_spec.rb
207
216
  - spec/sorted_set_spec.rb
208
217
  - spec/spec_helper.rb
209
- - spec/statistics_spec.rb
210
218
  - spec/storage_spec.rb
211
219
  - spec/worker_balancer_spec.rb
212
220
  - spec/worker_spec.rb
@@ -1,21 +0,0 @@
1
- module Workerholic
2
- class Statistics
3
- attr_accessor :enqueued_at, :retry_count, :errors, :started_at, :completed_at
4
-
5
- def initialize(options={})
6
- @enqueued_at = options[:enqueued_at]
7
- @errors = options[:errors] || []
8
- @started_at = options[:started_at]
9
- @completed_at = options[:completed_at]
10
- end
11
-
12
- def to_hash
13
- {
14
- enqueued_at: enqueued_at,
15
- errors: errors,
16
- started_at: started_at,
17
- completed_at: completed_at
18
- }
19
- end
20
- end
21
- end