smith 0.5.8 → 0.5.10

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.
Files changed (37) hide show
  1. data/bin/agency +49 -21
  2. data/bin/smithctl +51 -48
  3. data/lib/smith.rb +21 -17
  4. data/lib/smith/acl_compiler.rb +6 -3
  5. data/lib/smith/agent.rb +13 -24
  6. data/lib/smith/agent_monitoring.rb +5 -5
  7. data/lib/smith/agent_process.rb +4 -4
  8. data/lib/smith/application/agency.rb +11 -7
  9. data/lib/smith/bootstrap.rb +4 -4
  10. data/lib/smith/command.rb +26 -5
  11. data/lib/smith/command_base.rb +2 -2
  12. data/lib/smith/commands/agency/list.rb +11 -26
  13. data/lib/smith/commands/agency/logger.rb +1 -1
  14. data/lib/smith/commands/agency/restart.rb +1 -1
  15. data/lib/smith/commands/agency/start.rb +20 -7
  16. data/lib/smith/commands/agency/stop.rb +23 -10
  17. data/lib/smith/commands/agency/version.rb +31 -0
  18. data/lib/smith/commands/smithctl/commands.rb +1 -13
  19. data/lib/smith/commands/smithctl/pop.rb +34 -28
  20. data/lib/smith/commands/smithctl/{cat.rb → push.rb} +3 -3
  21. data/lib/smith/commands/smithctl/rm.rb +20 -0
  22. data/lib/smith/commands/smithctl/top.rb +1 -1
  23. data/lib/smith/config.rb +15 -0
  24. data/lib/smith/daemon.rb +68 -0
  25. data/lib/smith/{messaging/exceptions.rb → exceptions.rb} +6 -0
  26. data/lib/smith/logger.rb +2 -3
  27. data/lib/smith/messaging/acl/agent_keepalive.proto +2 -2
  28. data/lib/smith/messaging/acl/agent_lifecycle.proto +2 -2
  29. data/lib/smith/messaging/acl/default.rb +1 -1
  30. data/lib/smith/messaging/endpoint.rb +5 -5
  31. data/lib/smith/messaging/receiver.rb +19 -19
  32. data/lib/smith/messaging/sender.rb +3 -3
  33. data/lib/smith/version.rb +3 -0
  34. metadata +52 -41
  35. data/lib/smith/commands/agency/agency_version.rb +0 -24
  36. data/lib/smith/commands/agency/state.rb +0 -20
  37. data/lib/smith/commands/smithctl/smithctl_version.rb +0 -22
@@ -29,7 +29,7 @@ module Smith
29
29
  block.call(r)
30
30
 
31
31
  # Cancel the receive queue. Queues get left behind because the reply queue is
32
- # still listening. By cancel'ling the consumer it releases the queue and exchange.
32
+ # still listening. By cancelling the consumer it releases the queue and exchange.
33
33
  r.metadata.channel.consumers.each do |k,v|
34
34
  if k.start_with?(receiver.queue_name)
35
35
  logger.verbose { "Cancelling: #{k}" }
@@ -47,8 +47,8 @@ module Smith
47
47
  private
48
48
 
49
49
  def _publish(message, opts, &block)
50
- logger.verbose { "Publishing to: [queue]: #{denomalized_queue_name}. [options]: #{opts}" }
51
- logger.verbose { "Payload content: [queue]: #{denomalized_queue_name}, [metadata type]: #{message.type}, [message]: #{message.inspect}" }
50
+ logger.verbose { "Publishing to: [queue]: #{denormalized_queue_name}. [options]: #{opts}" }
51
+ logger.verbose { "Payload content: [queue]: #{denormalized_queue_name}, [metadata type]: #{message.type}, [message]: #{message.inspect}" }
52
52
  if message.initialized?
53
53
  increment_counter
54
54
  exchange.publish(message.encode, opts, &block)
@@ -0,0 +1,3 @@
1
+ module Smith
2
+ VERSION = "0.5.10"
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: amqp
16
- requirement: &14081940 !ruby/object:Gem::Requirement
16
+ requirement: &13497700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.5.pre
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *14081940
24
+ version_requirements: *13497700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: dm-core
27
- requirement: &14081460 !ruby/object:Gem::Requirement
27
+ requirement: &13497200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *14081460
35
+ version_requirements: *13497200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dm-observer
38
- requirement: &14081000 !ruby/object:Gem::Requirement
38
+ requirement: &12710700 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *14081000
46
+ version_requirements: *12710700
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dm-yaml-adapter
49
- requirement: &14080540 !ruby/object:Gem::Requirement
49
+ requirement: &12710240 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - =
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.1
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *14080540
57
+ version_requirements: *12710240
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: daemons
60
- requirement: &13201300 !ruby/object:Gem::Requirement
60
+ requirement: &12709780 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.1.4
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *13201300
68
+ version_requirements: *12709780
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: eventmachine
71
- requirement: &13848600 !ruby/object:Gem::Requirement
71
+ requirement: &12709320 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.0.0.beta.4
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *13848600
79
+ version_requirements: *12709320
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: extlib
82
- requirement: &13848140 !ruby/object:Gem::Requirement
82
+ requirement: &12708860 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.9.15
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *13848140
90
+ version_requirements: *12708860
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: logging
93
- requirement: &13847680 !ruby/object:Gem::Requirement
93
+ requirement: &12708400 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,21 +98,21 @@ dependencies:
98
98
  version: 1.6.1
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *13847680
101
+ version_requirements: *12708400
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: optimism
104
- requirement: &13847220 !ruby/object:Gem::Requirement
104
+ requirement: &12707940 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
- version: 3.0.3
109
+ version: 3.1.2
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *13847220
112
+ version_requirements: *12707940
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: ruby_protobuf
115
- requirement: &13846760 !ruby/object:Gem::Requirement
115
+ requirement: &12707480 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - =
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 0.4.11
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *13846760
123
+ version_requirements: *12707480
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: state_machine
126
- requirement: &13846300 !ruby/object:Gem::Requirement
126
+ requirement: &12707020 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - =
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.1.2
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *13846300
134
+ version_requirements: *12707020
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: trollop
137
- requirement: &13845840 !ruby/object:Gem::Requirement
137
+ requirement: &12706560 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.16.2
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *13845840
145
+ version_requirements: *12706560
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: yajl-ruby
148
- requirement: &13845380 !ruby/object:Gem::Requirement
148
+ requirement: &12706100 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,7 +153,18 @@ dependencies:
153
153
  version: 1.1.0
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *13845380
156
+ version_requirements: *12706100
157
+ - !ruby/object:Gem::Dependency
158
+ name: multi_json
159
+ requirement: &12705640 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: 1.3.2
165
+ type: :runtime
166
+ prerelease: false
167
+ version_requirements: *12705640
157
168
  description: Simple multi-agent framework. It uses AMQP for it's messaging layer.
158
169
  email: rgh@filterfish.org
159
170
  executables:
@@ -164,14 +175,10 @@ extra_rdoc_files: []
164
175
  files:
165
176
  - bin/agency
166
177
  - bin/smithctl
167
- - lib/smith/agent.rb
168
178
  - lib/smith/agent_cache.rb
169
179
  - lib/smith/agent_config.rb
170
- - lib/smith/agent_monitoring.rb
171
180
  - lib/smith/application/agency.rb
172
- - lib/smith/bootstrap.rb
173
181
  - lib/smith/cache.rb
174
- - lib/smith/commands/agency/agency_version.rb
175
182
  - lib/smith/commands/agency/agents.rb
176
183
  - lib/smith/commands/agency/kill.rb
177
184
  - lib/smith/commands/agency/list.rb
@@ -179,40 +186,44 @@ files:
179
186
  - lib/smith/commands/agency/metadata.rb
180
187
  - lib/smith/commands/agency/restart.rb
181
188
  - lib/smith/commands/agency/start.rb
182
- - lib/smith/commands/agency/state.rb
183
189
  - lib/smith/commands/agency/stop.rb
190
+ - lib/smith/commands/agency/version.rb
184
191
  - lib/smith/commands/smithctl/acls.rb
185
- - lib/smith/commands/smithctl/cat.rb
186
192
  - lib/smith/commands/smithctl/commands.rb
187
193
  - lib/smith/commands/smithctl/pop.rb
194
+ - lib/smith/commands/smithctl/push.rb
188
195
  - lib/smith/commands/smithctl/rm.rb
189
- - lib/smith/commands/smithctl/smithctl_version.rb
190
196
  - lib/smith/commands/smithctl/top.rb
191
197
  - lib/smith/commands/template.rb
192
198
  - lib/smith/commands/common.rb
193
- - lib/smith/config.rb
194
199
  - lib/smith/messaging/acl/agency_command.proto
195
200
  - lib/smith/messaging/acl/agent_command.proto
196
201
  - lib/smith/messaging/acl/agent_config_request.proto
197
202
  - lib/smith/messaging/acl/agent_config_update.proto
203
+ - lib/smith/messaging/acl/agent_stats.proto
204
+ - lib/smith/messaging/acl/search.proto
198
205
  - lib/smith/messaging/acl/agent_keepalive.proto
199
206
  - lib/smith/messaging/acl/agent_lifecycle.proto
200
- - lib/smith/messaging/acl/agent_stats.proto
201
207
  - lib/smith/messaging/acl/default.rb
202
- - lib/smith/messaging/acl/search.proto
203
208
  - lib/smith/messaging/amqp_options.rb
204
- - lib/smith/messaging/endpoint.rb
205
- - lib/smith/messaging/exceptions.rb
206
209
  - lib/smith/messaging/payload.rb
207
210
  - lib/smith/messaging/queue_factory.rb
208
211
  - lib/smith/messaging/responder.rb
209
- - lib/smith/messaging/sender.rb
212
+ - lib/smith/messaging/endpoint.rb
210
213
  - lib/smith/messaging/receiver.rb
214
+ - lib/smith/messaging/sender.rb
211
215
  - lib/smith/acl_compiler.rb
216
+ - lib/smith/agent.rb
217
+ - lib/smith/agent_monitoring.rb
212
218
  - lib/smith/agent_process.rb
219
+ - lib/smith/bootstrap.rb
213
220
  - lib/smith/command.rb
214
221
  - lib/smith/command_base.rb
222
+ - lib/smith/config.rb
223
+ - lib/smith/daemon.rb
224
+ - lib/smith/exceptions.rb
215
225
  - lib/smith/logger.rb
226
+ - lib/smith/version.rb
216
227
  - lib/smith.rb
217
228
  homepage: http://github.com/filterfish/smith2/
218
229
  licenses: []
@@ -1,24 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- module Smith
3
- module Commands
4
- class AgencyVersion < CommandBase
5
- def execute
6
- version_file = Smith.root_path.join('VERSION')
7
-
8
- if options[:git] || !version_file.exist?
9
- responder.value("#{(`git describe` rescue '').strip}")
10
- else
11
- responder.value(version_file.read.strip)
12
- end
13
- end
14
-
15
- private
16
-
17
- def options_spec
18
- banner "Display the agency version."
19
-
20
- opt :git, "run git describe, assuming git is installed", :short => :g
21
- end
22
- end
23
- end
24
- end
@@ -1,20 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- module Smith
3
- module Commands
4
- class State < CommandBase
5
- def execute
6
- responder.value do
7
- target.inject([]) do |acc,agent_name|
8
- acc.tap { |a| a << ["#{agent_name}: #{agents[agent_name].state}"] }
9
- end.join("\n")
10
- end
11
- end
12
-
13
- private
14
-
15
- def options_spec
16
- banner "Show the state of an agent/agents - deprecated."
17
- end
18
- end
19
- end
20
- end
@@ -1,22 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- module Smith
3
- module Commands
4
- class SmithctlVersion < CommandBase
5
- def execute
6
- version_file = Smith.root_path.join('VERSION')
7
-
8
- if options[:git] || !version_file.exist?
9
- responder.value("#{(`git describe` rescue '').strip}")
10
- else
11
- responder.value(version_file.read.strip)
12
- end
13
- end
14
-
15
- def options_spec
16
- banner "Displays the smithctl version."
17
-
18
- opt :git, "run git describe, assuming git is installed", :short => :g
19
- end
20
- end
21
- end
22
- end