jiggler 0.1.0.rc2 → 0.1.0.rc3
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/CHANGELOG.md +1 -1
- data/README.md +18 -23
- data/bin/jiggler +1 -12
- data/lib/jiggler/manager.rb +3 -0
- data/lib/jiggler/server.rb +14 -0
- data/lib/jiggler/summary.rb +1 -1
- data/lib/jiggler/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e91ac83196c8c87c6745cedb475b002ed51e20a7a8017e3e3146a6cdc31aef9f
|
|
4
|
+
data.tar.gz: 9b02764a77f9aaf52f408c28cc03995066fff4a0a571aea51be72a7c56bf3ea2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c07e4f0e11611d13f9efcb4c388c522d15035dc512df193d70431a41f4c7df6f01eaeffce806925d2e3ebf4f832aecb2ef5e22f23896b1aa080089cd0ab2c0ed
|
|
7
|
+
data.tar.gz: 2753da9109d9d449708d38491a2b40567ab1e12e7a8081e2468ce7f176bd0deb6f4fde8a007a64149f4f3c8491813524893a0cbe2f3aec6d5151c41b13050ee2
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -17,11 +17,6 @@ Install the gem:
|
|
|
17
17
|
gem install jiggler
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
For release candidate versions (currently only 0.1.0.rc1 is available):
|
|
21
|
-
```
|
|
22
|
-
gem install jiggler --pre
|
|
23
|
-
```
|
|
24
|
-
|
|
25
20
|
Start Jiggler server as a separate process with bin command:
|
|
26
21
|
```
|
|
27
22
|
jiggler -r <FILE_PATH>
|
|
@@ -56,16 +51,16 @@ The parent process enqueues the jobs, starts the monitoring, and then forks the
|
|
|
56
51
|
| Job Processor | Concurrency | Jobs | Time | Start RSS | Finish RSS |
|
|
57
52
|
|------------------|-------------|-----------|-----------|------------|---------------|
|
|
58
53
|
| Sidekiq 7.0.2 | 5 | 100_000 | 20.01 sec | 132_080 kb | 103_168 kb (GC) |
|
|
59
|
-
| Jiggler 0.1.
|
|
54
|
+
| Jiggler 0.1.0 | 5 | 100_000 | 14.25 sec | 87_532 kb | 91_464 kb |
|
|
60
55
|
| - | | | | | |
|
|
61
56
|
| Sidekiq 7.0.2 | 10 | 100_000 | 20.49 sec | 132_164 kb | 125_768 kb (GC) |
|
|
62
|
-
| Jiggler 0.1.
|
|
57
|
+
| Jiggler 0.1.0 | 10 | 100_000 | 13.25 sec | 87_688 kb | 91_625 kb |
|
|
63
58
|
| - | | | | | |
|
|
64
59
|
| Sidekiq 7.0.2 | 5 | 1_000_000 | 186.90 sec | 159_712 kb | 186_224 kb |
|
|
65
|
-
| Jiggler 0.1.
|
|
60
|
+
| Jiggler 0.1.0 | 5 | 1_000_000 | 123.13 sec | 113_212 kb | 116_336 kb |
|
|
66
61
|
| - | | | | | |
|
|
67
62
|
| Sidekiq 7.0.2 | 10 | 1_000_000 | 186.94 sec | 159_000 kb | 192_780 kb |
|
|
68
|
-
| Jiggler 0.1.
|
|
63
|
+
| Jiggler 0.1.0 | 10 | 1_000_000 | 115.56 sec | 113_656 kb | 116_896 kb |
|
|
69
64
|
|
|
70
65
|
|
|
71
66
|
#### IO tests
|
|
@@ -107,13 +102,13 @@ Since fibers have relatively small memory foot-print and context switching is al
|
|
|
107
102
|
| Job Processor | Concurrency | Jobs | Time to complete | Start RSS | Finish RSS | %CPU |
|
|
108
103
|
|------------------|-------------|-------|-------------------|-----------|------------|------|
|
|
109
104
|
| Sidekiq 7.0.2 | 5 | 1_000 | 43.74 sec | 30_444 kb | 45_124 kb | 5.9 |
|
|
110
|
-
| Jiggler 0.1.
|
|
105
|
+
| Jiggler 0.1.0 | 5 | 1_000 | 43.65 sec | 33_476 kb | 34_144 kb | 2.9 |
|
|
111
106
|
| - | | | | | | |
|
|
112
107
|
| Sidekiq 7.0.2 | 10 | 1_000 | 23.05 sec | 30_604 kb | 50_292 kb | 10.93 |
|
|
113
|
-
| Jiggler 0.1.
|
|
108
|
+
| Jiggler 0.1.0 | 10 | 1_000 | 22.86 sec | 32_416 kb | 34_128 kb | 5.69 |
|
|
114
109
|
| - | | | | | | |
|
|
115
110
|
| Sidekiq 7.0.2 | 15 | 1_000 | 16.17 sec | 30_636 kb | 55_144 kb | 16.47 |
|
|
116
|
-
| Jiggler 0.1.
|
|
111
|
+
| Jiggler 0.1.0 | 15 | 1_000 | 15.87 sec | 33_328 kb | 34_548 kb | 8.25 |
|
|
117
112
|
|
|
118
113
|
**NOTE**: Jiggler has more dependencies, so with small load `start RSS` takes more space.
|
|
119
114
|
|
|
@@ -141,13 +136,13 @@ end
|
|
|
141
136
|
| Job Processor | Concurrency | Jobs | Time | Start RSS | Finish RSS | %CPU |
|
|
142
137
|
|------------------|-------------|-------|-----------|-----------|------------|------|
|
|
143
138
|
| Sidekiq 7.0.2 | 5 | 1_000 | 23.44 sec | 31_436 kb | 48_856 kb | 7.56 |
|
|
144
|
-
| Jiggler 0.1.
|
|
139
|
+
| Jiggler 0.1.0 | 5 | 1_000 | 23.20 sec | 35_312 kb | 38_592 kb | 2.91 |
|
|
145
140
|
| - | | | | | | |
|
|
146
141
|
| Sidekiq 7.0.2 | 10 | 1_000 | 13.15 sec | 31_272 kb | 52_808 kb | 13.76 |
|
|
147
|
-
| Jiggler 0.1.
|
|
142
|
+
| Jiggler 0.1.0 | 10 | 1_000 | 12.65 sec | 35_296 kb | 38_784 kb | 6.11 |
|
|
148
143
|
| - | | | | | | |
|
|
149
144
|
| Sidekiq 7.0.2 | 15 | 1_000 | 9.63 sec | 31_016 kb | 59_868 kb | 20.32 |
|
|
150
|
-
| Jiggler 0.1.
|
|
145
|
+
| Jiggler 0.1.0 | 15 | 1_000 | 9.17 sec | 35_188 kb | 38_948 kb | 9.26 |
|
|
151
146
|
|
|
152
147
|
##### File IO
|
|
153
148
|
|
|
@@ -160,13 +155,13 @@ end
|
|
|
160
155
|
| Job Processor | Concurrency | Jobs | Time | Start RSS | Finish RSS | %CPU |
|
|
161
156
|
|------------------|-------------|--------|-----------|--------------|------------|-------|
|
|
162
157
|
| Sidekiq 7.0.2 | 5 | 30_000 | 11.94 sec | 61_944 kb | 71_948 kb | 94.34 |
|
|
163
|
-
| Jiggler 0.1.
|
|
158
|
+
| Jiggler 0.1.0 | 5 | 30_000 | 7.87 sec | 50_140 kb | 51_272 kb | 61.7 |
|
|
164
159
|
| - | | | | | | |
|
|
165
160
|
| Sidekiq 7.0.2 | 10 | 30_000 | 11.6 sec | 62_020 kb | 78_952 kb | 94.44 |
|
|
166
|
-
| Jiggler 0.1.
|
|
161
|
+
| Jiggler 0.1.0 | 10 | 30_000 | 7.17 sec | 50_060 kb | 51_464 kb | 69.25 |
|
|
167
162
|
| - | | | | | | |
|
|
168
163
|
| Sidekiq 7.0.2 | 15 | 30_000 | 11.24 sec | 62_016 kb | 83_808 kb | 94.16 |
|
|
169
|
-
| Jiggler 0.1.
|
|
164
|
+
| Jiggler 0.1.0 | 15 | 30_000 | 7.02 sec | 49_988 kb | 51_428 kb | 70.3 |
|
|
170
165
|
|
|
171
166
|
|
|
172
167
|
Jiggler is effective only for tasks with a lot of IO. You must test the concurrency setting with your jobs to find out what configuration works best for your payload.
|
|
@@ -193,10 +188,10 @@ end
|
|
|
193
188
|
| Job Processor | Concurrency | Jobs | Time | Start RSS | Finish RSS |
|
|
194
189
|
|------------------|-------------|------|----------|------------|------------|
|
|
195
190
|
| Sidekiq 7.0.2 | 5 | 100 | 5.81 sec | 27_792 kb | 42_464 kb |
|
|
196
|
-
| Jiggler 0.1.
|
|
191
|
+
| Jiggler 0.1.0 | 5 | 100 | 5.29 sec | 31_304 kb | 32_320 kb |
|
|
197
192
|
| - | | | | | |
|
|
198
193
|
| Sidekiq 7.0.2 | 10 | 100 | 5.63 sec | 28_044 kb | 47_640 kb |
|
|
199
|
-
| Jiggler 0.1.
|
|
194
|
+
| Jiggler 0.1.0 | 10 | 100 | 5.43 sec | 32_316 kb | 32_548 kb |
|
|
200
195
|
|
|
201
196
|
#### IO Event selector
|
|
202
197
|
|
|
@@ -226,11 +221,11 @@ end
|
|
|
226
221
|
|
|
227
222
|
| Job Processor | Concurrency | Jobs | Time | Start RSS | Finish RSS | %CPU |
|
|
228
223
|
|------------------|-------------|-------|-----------|-----------|------------|------|
|
|
229
|
-
| Jiggler 0.1.
|
|
224
|
+
| Jiggler 0.1.0 | 5 | 1_000 | 43.23 sec | 34_340 kb | 38_488 kb | 1.51 |
|
|
230
225
|
| - | | | | | | |
|
|
231
|
-
| Jiggler 0.1.
|
|
226
|
+
| Jiggler 0.1.0 | 10 | 1_000 | 22.67 sec | 34_552 kb | 38_600 kb | 2.75 |
|
|
232
227
|
| - | | | | | | |
|
|
233
|
-
| Jiggler 0.1.
|
|
228
|
+
| Jiggler 0.1.0 | 15 | 1_000 | 15.88 sec | 34_332 kb | 38_544 kb | 4.06 |
|
|
234
229
|
|
|
235
230
|
### Getting Started
|
|
236
231
|
|
data/bin/jiggler
CHANGED
|
@@ -3,18 +3,7 @@
|
|
|
3
3
|
require 'jiggler'
|
|
4
4
|
|
|
5
5
|
# require jiggler server classes
|
|
6
|
-
require 'jiggler/
|
|
7
|
-
require 'jiggler/scheduled/enqueuer'
|
|
8
|
-
require 'jiggler/scheduled/poller'
|
|
9
|
-
require 'jiggler/stats/collection'
|
|
10
|
-
require 'jiggler/stats/monitor'
|
|
11
|
-
require 'jiggler/errors'
|
|
12
|
-
require 'jiggler/retrier'
|
|
13
|
-
require 'jiggler/launcher'
|
|
14
|
-
require 'jiggler/manager'
|
|
15
|
-
require 'jiggler/worker'
|
|
16
|
-
|
|
17
|
-
require 'jiggler/cli'
|
|
6
|
+
require 'jiggler/server'
|
|
18
7
|
|
|
19
8
|
begin
|
|
20
9
|
cli = Jiggler::CLI.instance
|
data/lib/jiggler/manager.rb
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# server classes
|
|
4
|
+
require 'jiggler/support/helper'
|
|
5
|
+
require 'jiggler/scheduled/enqueuer'
|
|
6
|
+
require 'jiggler/scheduled/poller'
|
|
7
|
+
require 'jiggler/stats/collection'
|
|
8
|
+
require 'jiggler/stats/monitor'
|
|
9
|
+
require 'jiggler/errors'
|
|
10
|
+
require 'jiggler/retrier'
|
|
11
|
+
require 'jiggler/launcher'
|
|
12
|
+
require 'jiggler/manager'
|
|
13
|
+
require 'jiggler/worker'
|
|
14
|
+
require 'jiggler/cli'
|
data/lib/jiggler/summary.rb
CHANGED
|
@@ -61,7 +61,7 @@ module Jiggler
|
|
|
61
61
|
private
|
|
62
62
|
|
|
63
63
|
def fetch_processes(conn)
|
|
64
|
-
# in case they keys were deleted/modified
|
|
64
|
+
# in case they keys were deleted/modified may return incorrect results
|
|
65
65
|
conn.call('SCAN', '0', 'MATCH', config.process_scan_key).last
|
|
66
66
|
end
|
|
67
67
|
|
data/lib/jiggler/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jiggler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.0.
|
|
4
|
+
version: 0.1.0.rc3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Julija Alieckaja
|
|
@@ -147,6 +147,7 @@ files:
|
|
|
147
147
|
- lib/jiggler/retrier.rb
|
|
148
148
|
- lib/jiggler/scheduled/enqueuer.rb
|
|
149
149
|
- lib/jiggler/scheduled/poller.rb
|
|
150
|
+
- lib/jiggler/server.rb
|
|
150
151
|
- lib/jiggler/stats/collection.rb
|
|
151
152
|
- lib/jiggler/stats/monitor.rb
|
|
152
153
|
- lib/jiggler/summary.rb
|