rabbitek 0.4.0 → 0.8.1
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/Gemfile.lock +11 -9
- data/lib/rabbitek.rb +3 -2
- data/lib/rabbitek/cli.rb +4 -1
- data/lib/rabbitek/server/batcher.rb +1 -1
- data/lib/rabbitek/server/consumer.rb +4 -4
- data/lib/rabbitek/server/hooks/retry.rb +1 -1
- data/lib/rabbitek/server/message_processor.rb +3 -3
- data/lib/rabbitek/version.rb +1 -1
- data/rabbitek.gemspec +2 -2
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c5f09ef286a1f37a026cf370fce7fb800b68da92abff95ee56f1ef5408fd6e3
|
4
|
+
data.tar.gz: da008b7f6a410ee65d63b879229df6418455ef688d3b8b7a0e4deb1ec685b985
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c32c7beb1a29a53a25b8a3e936126c6c54b070d5a62b81dd07e0103d07a5e541669083fbd7a28d9816cdcf7cff939d988b95d47690f3a57c00b00308b3c07c6
|
7
|
+
data.tar.gz: 0e32bceb540529fd08e6647f8e5dd71bd251f26f147c3c5e89fc5ec71c3f4ec2490fe0172e9fe98719d34c3c5b6724809461c42c80771949c6dbd41198ab847d
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rabbitek (0.
|
4
|
+
rabbitek (0.8.1)
|
5
5
|
activesupport (> 3.0)
|
6
6
|
bunny (~> 2.11.0)
|
7
|
-
oj (
|
7
|
+
oj (> 2.0.0)
|
8
8
|
opentracing (~> 0.4)
|
9
9
|
slop (~> 4.0)
|
10
|
-
yabeda
|
10
|
+
yabeda (>= 0.6.0)
|
11
11
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
@@ -53,14 +53,15 @@ GEM
|
|
53
53
|
i18n (>= 0.7, < 2)
|
54
54
|
minitest (~> 5.1)
|
55
55
|
tzinfo (~> 1.1)
|
56
|
-
amq-protocol (2.3.
|
56
|
+
amq-protocol (2.3.2)
|
57
57
|
arel (9.0.0)
|
58
58
|
ast (2.4.0)
|
59
|
+
bigdecimal (2.0.0)
|
59
60
|
builder (3.2.4)
|
60
61
|
bunny (2.11.0)
|
61
62
|
amq-protocol (~> 2.3.0)
|
62
63
|
coderay (1.1.2)
|
63
|
-
concurrent-ruby (1.1.
|
64
|
+
concurrent-ruby (1.1.6)
|
64
65
|
crass (1.0.6)
|
65
66
|
diff-lcs (1.3)
|
66
67
|
dry-initializer (3.0.3)
|
@@ -85,7 +86,8 @@ GEM
|
|
85
86
|
nio4r (2.5.2)
|
86
87
|
nokogiri (1.10.7)
|
87
88
|
mini_portile2 (~> 2.4.0)
|
88
|
-
oj (3.10.
|
89
|
+
oj (3.10.9)
|
90
|
+
bigdecimal (~> 2.0)
|
89
91
|
opentracing (0.5.0)
|
90
92
|
parallel (1.12.1)
|
91
93
|
parser (2.5.1.2)
|
@@ -145,7 +147,7 @@ GEM
|
|
145
147
|
ruby-progressbar (~> 1.7)
|
146
148
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
147
149
|
ruby-progressbar (1.10.0)
|
148
|
-
slop (4.
|
150
|
+
slop (4.8.2)
|
149
151
|
sprockets (4.0.0)
|
150
152
|
concurrent-ruby (~> 1.0)
|
151
153
|
rack (> 1, < 3)
|
@@ -161,7 +163,7 @@ GEM
|
|
161
163
|
websocket-driver (0.7.1)
|
162
164
|
websocket-extensions (>= 0.1.0)
|
163
165
|
websocket-extensions (0.1.4)
|
164
|
-
yabeda (0.
|
166
|
+
yabeda (0.7.0)
|
165
167
|
concurrent-ruby
|
166
168
|
dry-initializer
|
167
169
|
|
@@ -178,4 +180,4 @@ DEPENDENCIES
|
|
178
180
|
rubocop (~> 0.58.0)
|
179
181
|
|
180
182
|
BUNDLED WITH
|
181
|
-
2.
|
183
|
+
2.1.4
|
data/lib/rabbitek.rb
CHANGED
@@ -58,11 +58,12 @@ end
|
|
58
58
|
|
59
59
|
Yabeda.configure do
|
60
60
|
group :rabbitek do
|
61
|
-
counter :processed_messages_count, comment: 'Total number of all messages'
|
62
|
-
counter :errored_messages_count, comment: 'Total number of errored messages'
|
61
|
+
counter :processed_messages_count, comment: 'Total number of all messages', tags: %i[consumer]
|
62
|
+
counter :errored_messages_count, comment: 'Total number of errored messages', tags: %i[consumer]
|
63
63
|
histogram :processed_messages_runtime do
|
64
64
|
comment 'How long it takes to process message'
|
65
65
|
unit :seconds
|
66
|
+
tags %i[consumer]
|
66
67
|
buckets [0.1, 0.5, 1, 5, 10, 30, 60]
|
67
68
|
end
|
68
69
|
end
|
data/lib/rabbitek/cli.rb
CHANGED
@@ -14,9 +14,12 @@ module Rabbitek
|
|
14
14
|
class CLI
|
15
15
|
include ::Rabbitek::Loggable
|
16
16
|
|
17
|
-
def run
|
17
|
+
def run # rubocop:disable Metrics/AbcSize
|
18
18
|
opts
|
19
19
|
require_application
|
20
|
+
|
21
|
+
Yabeda.configure! unless Yabeda.already_configured?
|
22
|
+
|
20
23
|
map_consumer_workers!
|
21
24
|
|
22
25
|
start_log
|
@@ -52,16 +52,16 @@ module Rabbitek
|
|
52
52
|
Message.new(delivery_info: delivery_info, properties: properties, payload: payload)
|
53
53
|
end
|
54
54
|
|
55
|
-
def
|
56
|
-
self.class.
|
55
|
+
def opts
|
56
|
+
self.class.opts
|
57
57
|
end
|
58
58
|
|
59
59
|
module ClassMethods # rubocop:disable Style/Documentation
|
60
|
-
attr_accessor :rabbit_options_hash, :
|
60
|
+
attr_accessor :rabbit_options_hash, :opts
|
61
61
|
|
62
62
|
def rabbit_options(opts)
|
63
63
|
self.rabbit_options_hash = default_rabbit_options(opts).with_indifferent_access.merge(opts)
|
64
|
-
self.
|
64
|
+
self.opts = opts
|
65
65
|
end
|
66
66
|
|
67
67
|
def perform_async(payload, opts: {}, channel: nil)
|
@@ -33,18 +33,18 @@ module Rabbitek
|
|
33
33
|
def_delegators :starter, :channel, :work_queue, :retry_or_delayed_queue, :retry_or_delayed_exchange
|
34
34
|
|
35
35
|
def run_job(modified_consumer, message)
|
36
|
-
if modified_consumer.
|
36
|
+
if modified_consumer.opts[:batch]
|
37
37
|
run_job_batched(modified_consumer, message)
|
38
38
|
else
|
39
39
|
modified_consumer.perform(message)
|
40
|
-
modified_consumer.ack!(message.delivery_info)
|
40
|
+
modified_consumer.ack!(message.delivery_info) unless modified_consumer.opts[:manual_ack]
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
44
|
def run_job_batched(modified_consumer, message)
|
45
45
|
Batcher.new(modified_consumer).perform(message) do |batch|
|
46
46
|
modified_consumer.perform(batch)
|
47
|
-
modified_consumer.ack!(batch.last.delivery_info, true)
|
47
|
+
modified_consumer.ack!(batch.last.delivery_info, true) unless modified_consumer.opts[:manual_ack]
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
data/lib/rabbitek/version.rb
CHANGED
data/rabbitek.gemspec
CHANGED
@@ -31,10 +31,10 @@ Gem::Specification.new do |spec|
|
|
31
31
|
|
32
32
|
spec.add_dependency 'activesupport', '> 3.0'
|
33
33
|
spec.add_dependency 'bunny', '~> 2.11.0'
|
34
|
-
spec.add_dependency 'oj', '
|
34
|
+
spec.add_dependency 'oj', '> 2.0.0'
|
35
35
|
spec.add_dependency 'opentracing', '~> 0.4'
|
36
36
|
spec.add_dependency 'slop', '~> 4.0'
|
37
|
-
spec.add_dependency 'yabeda'
|
37
|
+
spec.add_dependency 'yabeda', '>= 0.6.0'
|
38
38
|
|
39
39
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
40
40
|
spec.add_development_dependency 'pry'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabbitek
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boostcom
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: oj
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.0.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 2.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: opentracing
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 0.6.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 0.6.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,7 +236,7 @@ metadata:
|
|
236
236
|
source_code_uri: https://github.com/Boostcom/rabbitek
|
237
237
|
changelog_uri: https://github.com/Boostcom/rabbitek/blob/master/CHANGELOG.md
|
238
238
|
bug_tracker_uri: https://github.com/Boostcom/rabbitek/issues
|
239
|
-
post_install_message:
|
239
|
+
post_install_message:
|
240
240
|
rdoc_options: []
|
241
241
|
require_paths:
|
242
242
|
- lib
|
@@ -251,8 +251,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
251
251
|
- !ruby/object:Gem::Version
|
252
252
|
version: '0'
|
253
253
|
requirements: []
|
254
|
-
rubygems_version: 3.
|
255
|
-
signing_key:
|
254
|
+
rubygems_version: 3.1.2
|
255
|
+
signing_key:
|
256
256
|
specification_version: 4
|
257
257
|
summary: High performance background job processing
|
258
258
|
test_files: []
|