smith 0.7.4 → 0.7.6
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/smith/application/agency.rb +2 -2
- data/lib/smith/logger.rb +1 -1
- data/lib/smith/messaging/receiver.rb +16 -1
- data/lib/smith/messaging/sender.rb +1 -1
- data/lib/smith/version.rb +1 -1
- metadata +30 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96cb51ec7c1b312e9579ed53e172fb9007dade01
|
4
|
+
data.tar.gz: 9a18b232612707ff1bb428e1885e3ec34826cdaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63f78bfab75adfe3399b6f5f7dbb6e6e902c3e38e0ef365740c31259eabb1e934be252cd2152816d14bd390dfb596946ca3c80a4c60a56a0098a892b6af68bbf
|
7
|
+
data.tar.gz: cfd8e95af6b81ed3f2e0fbf0a456e2f31f718e0d0dc7a67386716abb294d647d5348fc478e794e8c372455e09b66917d89289054067daf8b6a493c6d50e518df
|
@@ -93,7 +93,7 @@ module Smith
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def dead(agent_data)
|
96
|
-
agent_exists?(agent_data.uuid
|
96
|
+
agent_exists?(agent_data.uuid) do |agent_process|
|
97
97
|
if agent_process.no_process_running
|
98
98
|
logger.fatal { "Agent is dead: #{agent_data.uuid}" }
|
99
99
|
end
|
@@ -111,7 +111,7 @@ module Smith
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
-
def agent_exists?(uuid, error_proc
|
114
|
+
def agent_exists?(uuid, error_proc=->{}, &blk)
|
115
115
|
agent = @agent_processes[uuid]
|
116
116
|
if agent
|
117
117
|
blk.call(agent)
|
data/lib/smith/logger.rb
CHANGED
@@ -207,11 +207,26 @@ module Smith
|
|
207
207
|
|
208
208
|
attr_accessor :metadata
|
209
209
|
|
210
|
+
def m(o)
|
211
|
+
(o.methods - Object.methods).sort
|
212
|
+
end
|
213
|
+
|
210
214
|
def initialize(metadata, data, opts={}, requeue_opts, &blk)
|
211
215
|
@metadata = metadata
|
212
216
|
@reply_queue = opts[:reply_queue]
|
217
|
+
# @queue_name = (metadata.methods - Object.methods).sort
|
213
218
|
@requeue_opts = requeue_opts
|
214
219
|
|
220
|
+
pp m(metadata)
|
221
|
+
puts '====================='
|
222
|
+
pp m(metadata.channel)
|
223
|
+
puts '====================='
|
224
|
+
pp metadata.channel.class
|
225
|
+
puts '====================='
|
226
|
+
pp m(metadata.channel.queue)
|
227
|
+
puts '====================='
|
228
|
+
pp metadata.channel.queue.status
|
229
|
+
|
215
230
|
@acl_type_cache = AclTypeCache.instance
|
216
231
|
|
217
232
|
@time = Time.now
|
@@ -241,7 +256,7 @@ module Smith
|
|
241
256
|
if @metadata.reply_to
|
242
257
|
@reply_queue.publish((blk) ? blk.call : acl, :correlation_id => @metadata.message_id)
|
243
258
|
else
|
244
|
-
logger.error { "
|
259
|
+
logger.error { "Cannot reply to a message that has no reply_to: #{@metadata.exchange}." }
|
245
260
|
end
|
246
261
|
end
|
247
262
|
|
@@ -97,7 +97,7 @@ module Smith
|
|
97
97
|
|
98
98
|
@timeout ||= Timeout.new(Smith.config.smith.timeout, :queue_name => @queue_def.denormalise)
|
99
99
|
|
100
|
-
reply_queue = opts.delete(:reply_queue_name) { random("#{@queue_def.denormalise}.") }
|
100
|
+
reply_queue = opts.clone.delete(:reply_queue_name) { random("#{@queue_def.denormalise}.") }
|
101
101
|
|
102
102
|
queue_def = QueueDefinition.new(reply_queue, opts.merge(:auto_delete => true, :durable => false))
|
103
103
|
logger.debug { "reply queue: #{queue_def.denormalise}" }
|
data/lib/smith/version.rb
CHANGED
metadata
CHANGED
@@ -1,35 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Heycock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: oj
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '2.11'
|
20
|
-
- - "~>"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 2.11.4
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '2.11'
|
30
|
-
- - "~>"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 2.11.4
|
33
13
|
- !ruby/object:Gem::Dependency
|
34
14
|
name: amqp
|
35
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,33 +185,53 @@ dependencies:
|
|
205
185
|
- !ruby/object:Gem::Version
|
206
186
|
version: '2.1'
|
207
187
|
- !ruby/object:Gem::Dependency
|
208
|
-
name:
|
188
|
+
name: toml-rb
|
209
189
|
requirement: !ruby/object:Gem::Requirement
|
210
190
|
requirements:
|
211
|
-
- -
|
191
|
+
- - "~>"
|
212
192
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
193
|
+
version: '0.3'
|
214
194
|
type: :runtime
|
215
195
|
prerelease: false
|
216
196
|
version_requirements: !ruby/object:Gem::Requirement
|
217
197
|
requirements:
|
218
|
-
- -
|
198
|
+
- - "~>"
|
219
199
|
- !ruby/object:Gem::Version
|
220
|
-
version:
|
200
|
+
version: '0.3'
|
221
201
|
- !ruby/object:Gem::Dependency
|
222
|
-
name:
|
202
|
+
name: oj
|
223
203
|
requirement: !ruby/object:Gem::Requirement
|
224
204
|
requirements:
|
225
205
|
- - "~>"
|
226
206
|
- !ruby/object:Gem::Version
|
227
|
-
version: '
|
207
|
+
version: '2.11'
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: 2.11.4
|
228
211
|
type: :runtime
|
229
212
|
prerelease: false
|
230
213
|
version_requirements: !ruby/object:Gem::Requirement
|
231
214
|
requirements:
|
232
215
|
- - "~>"
|
233
216
|
- !ruby/object:Gem::Version
|
234
|
-
version: '
|
217
|
+
version: '2.11'
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 2.11.4
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
name: curses
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - '='
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: 1.0.1
|
228
|
+
type: :runtime
|
229
|
+
prerelease: false
|
230
|
+
version_requirements: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - '='
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: 1.0.1
|
235
235
|
description: Simple multi-agent framework. It uses AMQP for it's messaging layer.
|
236
236
|
email: rgh@filterfish.org
|
237
237
|
executables:
|