smith 0.5.8 → 0.5.10

Sign up to get free protection for your applications and to get access to all the features.
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