mumukit-nuntius 2.1.1 → 2.2.0
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/lib/mumukit/nuntius.rb +1 -1
- data/lib/mumukit/nuntius/consumer.rb +14 -9
- data/lib/mumukit/nuntius/event_consumer.rb +14 -11
- data/lib/mumukit/nuntius/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 33fe9c17b07c6ecb0448c6801931db56e2888b93
|
|
4
|
+
data.tar.gz: 0e6f2cc0bc155a4d4a89856cc712872c7deb488a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: abb65da0c0e1d064641772eabba73137d8d389da5d70e53f37eb7c3728b6b9ff612ad9dddcffb38360af892217414826f87c6473afc434832c97543ce02d5430
|
|
7
|
+
data.tar.gz: 9fff016bb3e11d44c41c5b7959d1feb292ca2aeb49c133af7e3726cc2810301372b3a32691094745ab1790710adb160d445ac2bdc48c5323c39b4c4ef02dc74d
|
data/lib/mumukit/nuntius.rb
CHANGED
|
@@ -23,17 +23,22 @@ module Mumukit::Nuntius::Consumer
|
|
|
23
23
|
def subscribe(queue, channel, &block)
|
|
24
24
|
Mumukit::Nuntius::Logger.debug "Subscribed to queue #{queue}"
|
|
25
25
|
|
|
26
|
-
queue.subscribe(:
|
|
26
|
+
queue.subscribe(manual_ack: true, block: true) do |delivery_info, properties, body|
|
|
27
27
|
Mumukit::Nuntius::Logger.debug "Processing message #{body}"
|
|
28
|
-
|
|
29
|
-
begin
|
|
30
|
-
block.call delivery_info, properties, JSON.parse(body)
|
|
31
|
-
channel.ack(delivery_info.delivery_tag)
|
|
32
|
-
rescue => e
|
|
33
|
-
Mumukit::Nuntius::Logger.warn "Failed to read body: #{e.message} \n #{e.backtrace}"
|
|
34
|
-
channel.nack(delivery_info.delivery_tag, false, true)
|
|
35
|
-
end
|
|
28
|
+
handle_message channel, delivery_info, properties, body, &block
|
|
36
29
|
end
|
|
37
30
|
end
|
|
31
|
+
|
|
32
|
+
def handle_message(channel, delivery_info, properties, body, &block)
|
|
33
|
+
block.call delivery_info, properties, parse_body(body)
|
|
34
|
+
channel.ack delivery_info.delivery_tag
|
|
35
|
+
rescue => e
|
|
36
|
+
Mumukit::Nuntius::Logger.warn "Failed to read body: #{e.message} \n #{e.backtrace}"
|
|
37
|
+
channel.nack delivery_info.delivery_tag, false, true
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def parse_body(body)
|
|
41
|
+
JSON.parse(body).with_indifferent_access
|
|
42
|
+
end
|
|
38
43
|
end
|
|
39
44
|
end
|
|
@@ -4,19 +4,22 @@ module Mumukit::Nuntius::EventConsumer
|
|
|
4
4
|
|
|
5
5
|
def start(name)
|
|
6
6
|
Mumukit::Nuntius::Consumer.start "#{name}-events", 'events' do |_delivery_info, properties, body|
|
|
7
|
-
|
|
8
|
-
begin
|
|
9
|
-
choose_event(name, properties).execute!(body['data'])
|
|
10
|
-
rescue NoMethodError => e
|
|
11
|
-
log_exception(name, properties, e)
|
|
12
|
-
rescue NameError => e
|
|
13
|
-
log_unkown_event(name, properties)
|
|
14
|
-
rescue => e
|
|
15
|
-
log_exception(name, properties, e)
|
|
16
|
-
end
|
|
7
|
+
handle_event(name, properties, body)
|
|
17
8
|
end
|
|
18
9
|
end
|
|
19
10
|
|
|
11
|
+
def handle_event(name, properties, body)
|
|
12
|
+
return if body[:sender] == Mumukit::Nuntius.config.app_name
|
|
13
|
+
|
|
14
|
+
choose_event(name, properties).execute!(body[:data])
|
|
15
|
+
rescue NoMethodError => e
|
|
16
|
+
log_exception(name, properties, e)
|
|
17
|
+
rescue NameError => e
|
|
18
|
+
log_unknown_event(name, properties)
|
|
19
|
+
rescue => e
|
|
20
|
+
log_exception(name, properties, e)
|
|
21
|
+
end
|
|
22
|
+
|
|
20
23
|
def choose_event(name, properties)
|
|
21
24
|
event_name(name, properties).constantize
|
|
22
25
|
end
|
|
@@ -25,7 +28,7 @@ module Mumukit::Nuntius::EventConsumer
|
|
|
25
28
|
"#{name.capitalize}::Event::#{properties[:type]}"
|
|
26
29
|
end
|
|
27
30
|
|
|
28
|
-
def
|
|
31
|
+
def log_unknown_event(name, properties)
|
|
29
32
|
Mumukit::Nuntius::Logger.error "#{event_name(name, properties)} does not exists."
|
|
30
33
|
end
|
|
31
34
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mumukit-nuntius
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Agustin Pina
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-12-
|
|
11
|
+
date: 2016-12-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -44,28 +44,28 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '3'
|
|
48
48
|
type: :development
|
|
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: '3'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: mumukit-core
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '0.2'
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- - "
|
|
66
|
+
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '0.2'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: bunny
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|