omnibot 0.0.12 → 0.0.13
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.
- data/lib/omnibot/amqpconsumer.rb +18 -19
- data/lib/omnibot/helpers.rb +4 -0
- data/lib/omnibot/omnisend.rb +4 -5
- data/lib/omnibot/version.rb +1 -1
- metadata +17 -17
data/lib/omnibot/amqpconsumer.rb
CHANGED
@@ -19,13 +19,12 @@ module OmniBot
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def amqp_loop
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
AMQP.start do |connection|
|
23
|
+
OmniLog::info "Setup amqp gem #{AMQP::VERSION}, AMQP protocol #{AMQP::Protocol::VERSION}..."
|
24
|
+
mq = AMQP::Channel.new(connection)
|
25
|
+
exchange = mq.direct(Helpers::amqp_exchange_name)
|
26
|
+
queue = mq.queue('', :exclusive => true).bind(exchange, :routing_key => Helpers::amqp_routing_key)
|
27
27
|
|
28
|
-
begin
|
29
28
|
OmniLog::info "Setup omnibot..."
|
30
29
|
@omnibot = JabberBot.new(Jabber::JID::new(@config['omnibotuser']), @config['omnibotpass'])
|
31
30
|
@omnibot.timer_provider = EM
|
@@ -39,18 +38,20 @@ module OmniBot
|
|
39
38
|
handler.startup_pause = index*10
|
40
39
|
handler.start
|
41
40
|
end
|
41
|
+
|
42
|
+
OmniLog::info "==== AMQP is ready ===="
|
42
43
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
OmniLog::info "==== AMQP is ready ===="
|
44
|
+
queue.subscribe do |msg|
|
45
|
+
message = Marshal.load msg
|
46
|
+
send_message message
|
47
|
+
end
|
49
48
|
|
50
|
-
queue.subscribe do |msg|
|
51
|
-
message = Marshal.load msg
|
52
|
-
send_message message
|
53
49
|
end
|
50
|
+
|
51
|
+
# it is a function rescue block, don't be afraid
|
52
|
+
rescue => e
|
53
|
+
OmniLog::error "AMQP/Jabber setup error: #{e.message}\ntrace:\n#{Helpers::backtrace e}\nExiting..."
|
54
|
+
AMQP.stop{ EM.stop }
|
54
55
|
end
|
55
56
|
|
56
57
|
# Main AMQP loop
|
@@ -62,10 +63,8 @@ module OmniBot
|
|
62
63
|
AMQP.stop{ EM.stop }
|
63
64
|
end
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
end
|
68
|
-
|
66
|
+
amqp_loop
|
67
|
+
|
69
68
|
OmniLog::info "Exited"
|
70
69
|
end
|
71
70
|
|
data/lib/omnibot/helpers.rb
CHANGED
data/lib/omnibot/omnisend.rb
CHANGED
@@ -13,12 +13,11 @@ module OmniBot
|
|
13
13
|
|
14
14
|
Signal.trap('INT') { AMQP.stop{ EM.stop } }
|
15
15
|
|
16
|
-
AMQP.start do
|
17
|
-
mq = AMQP::Channel.new
|
16
|
+
AMQP.start do |connection|
|
17
|
+
mq = AMQP::Channel.new(connection)
|
18
18
|
exchange = mq.direct(Helpers::amqp_exchange_name)
|
19
|
-
exchange.publish(data)
|
20
|
-
puts 'sent'
|
21
|
-
AMQP.stop{ EM.stop }
|
19
|
+
exchange.publish(data, :routing_key => Helpers::amqp_routing_key)
|
20
|
+
EM.add_timer(2.0) { connection.close { puts 'sent' ; EM.stop } }
|
22
21
|
end
|
23
22
|
end
|
24
23
|
end
|
data/lib/omnibot/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omnibot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10
|
12
|
+
date: 2011-11-10 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: xmpp4r
|
16
|
-
requirement: &
|
16
|
+
requirement: &70201186655820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70201186655820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: eventmachine
|
27
|
-
requirement: &
|
27
|
+
requirement: &70201186654920 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70201186654920
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: &
|
37
|
+
name: mail
|
38
|
+
requirement: &70201186654100 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70201186654100
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
48
|
+
name: sqlite3
|
49
|
+
requirement: &70201186652760 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,18 +54,18 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70201186652760
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement: &
|
59
|
+
name: amqp
|
60
|
+
requirement: &70201186651480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
65
|
+
version: 0.8.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70201186651480
|
69
69
|
description: Works with AMQP for sending messages at server side.Sends notifications
|
70
70
|
to an user via XMPP.Can monitor system by performing daily commands.
|
71
71
|
email: theirix@gmail.com
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
version: '0'
|
111
111
|
segments:
|
112
112
|
- 0
|
113
|
-
hash:
|
113
|
+
hash: 3706692739125381398
|
114
114
|
requirements:
|
115
115
|
- AMQP-compatible server (for example, RabbitMQ)
|
116
116
|
rubyforge_project: nowarning
|