jiggler 0.1.0.rc2 → 0.1.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/README.md +18 -23
- data/bin/jiggler +2 -14
- data/lib/jiggler/base.rb +7 -0
- data/lib/jiggler/cli.rb +1 -0
- data/lib/jiggler/client.rb +6 -0
- data/lib/jiggler/core.rb +1 -0
- data/lib/jiggler/manager.rb +1 -0
- data/lib/jiggler/server.rb +14 -0
- data/lib/jiggler/summary.rb +1 -1
- data/lib/jiggler/version.rb +1 -1
- data/lib/jiggler.rb +2 -7
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e6545c58aa0c8c04bbeb879c82e1a954eb0e13bb92971a148aaaaeaf17d1b0c
|
4
|
+
data.tar.gz: fa12547490937572301bdee5024988c233d363f574cbf92467e3bfa9fe16b8ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 464c1b31e6d0b200fdaad5c6a1da857a0a9ecabc7e239202d483178a15293d96f27b866d86287f9c91576294f794dd799393eaf11694858a0d664b3b96138dfb
|
7
|
+
data.tar.gz: 5e407cea521fc909160dbc637e9716f09026cc98c98e0397c129cc62dd891c20d6b582947c3944dadd2ff6165d561fd34feffc4988af7202bcc8410c87beb07c
|
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
@@ -1,20 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require 'jiggler'
|
4
|
-
|
5
3
|
# require jiggler server classes
|
6
|
-
require 'jiggler/
|
7
|
-
require 'jiggler/
|
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'
|
4
|
+
require 'jiggler/base'
|
5
|
+
require 'jiggler/server'
|
18
6
|
|
19
7
|
begin
|
20
8
|
cli = Jiggler::CLI.instance
|
data/lib/jiggler/base.rb
ADDED
data/lib/jiggler/cli.rb
CHANGED
data/lib/jiggler/core.rb
CHANGED
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
data/lib/jiggler.rb
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# require only classes which are going to be used on the client side
|
4
|
-
require 'jiggler/
|
5
|
-
require 'jiggler/
|
6
|
-
require 'jiggler/cleaner'
|
7
|
-
require 'jiggler/summary'
|
8
|
-
require 'jiggler/version'
|
9
|
-
require 'jiggler/core'
|
10
|
-
require 'jiggler/job'
|
4
|
+
require 'jiggler/base'
|
5
|
+
require 'jiggler/client'
|
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.rc4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julija Alieckaja
|
@@ -135,8 +135,10 @@ files:
|
|
135
135
|
- README.md
|
136
136
|
- bin/jiggler
|
137
137
|
- lib/jiggler.rb
|
138
|
+
- lib/jiggler/base.rb
|
138
139
|
- lib/jiggler/cleaner.rb
|
139
140
|
- lib/jiggler/cli.rb
|
141
|
+
- lib/jiggler/client.rb
|
140
142
|
- lib/jiggler/config.rb
|
141
143
|
- lib/jiggler/core.rb
|
142
144
|
- lib/jiggler/errors.rb
|
@@ -147,6 +149,7 @@ files:
|
|
147
149
|
- lib/jiggler/retrier.rb
|
148
150
|
- lib/jiggler/scheduled/enqueuer.rb
|
149
151
|
- lib/jiggler/scheduled/poller.rb
|
152
|
+
- lib/jiggler/server.rb
|
150
153
|
- lib/jiggler/stats/collection.rb
|
151
154
|
- lib/jiggler/stats/monitor.rb
|
152
155
|
- lib/jiggler/summary.rb
|