symphony 0.3.0.pre20140327204419
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/.simplecov +9 -0
- data/ChangeLog +508 -0
- data/History.rdoc +15 -0
- data/Manifest.txt +30 -0
- data/README.rdoc +89 -0
- data/Rakefile +77 -0
- data/TODO.md +5 -0
- data/USAGE.rdoc +381 -0
- data/bin/symphony +8 -0
- data/bin/symphony-task +10 -0
- data/etc/config.yml.example +9 -0
- data/lib/symphony/daemon.rb +372 -0
- data/lib/symphony/metrics.rb +84 -0
- data/lib/symphony/mixins.rb +75 -0
- data/lib/symphony/queue.rb +313 -0
- data/lib/symphony/routing.rb +98 -0
- data/lib/symphony/signal_handling.rb +107 -0
- data/lib/symphony/task.rb +407 -0
- data/lib/symphony/tasks/auditor.rb +51 -0
- data/lib/symphony/tasks/failure_logger.rb +106 -0
- data/lib/symphony/tasks/pinger.rb +64 -0
- data/lib/symphony/tasks/simulator.rb +57 -0
- data/lib/symphony/tasks/ssh.rb +126 -0
- data/lib/symphony/tasks/sshscript.rb +168 -0
- data/lib/symphony.rb +56 -0
- data/spec/helpers.rb +36 -0
- data/spec/symphony/mixins_spec.rb +78 -0
- data/spec/symphony/queue_spec.rb +368 -0
- data/spec/symphony/task_spec.rb +147 -0
- data/spec/symphony_spec.rb +14 -0
- data.tar.gz.sig +0 -0
- metadata +332 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5a18ff1610ed82fd8b70b2101553dd540b0855e7
|
4
|
+
data.tar.gz: 13658dcf21296bcb6fc7094cb68fddb263ace02f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dccd19e742e0817f2de1a8555490aa193f20abde32ea2ecc120b330d1edc5fed2ee511ecbd6097ecd692af1c55b2e1e5028dcd1b7c1040429f6509db875b2049
|
7
|
+
data.tar.gz: 33c92a0f1a2a84b13982a25321af137b0c445d9ac2950372568066fcd4e8329e51af5be0ac5646408940cf32b047be7208b6124ca38604969eb916b63508e3da
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data/.simplecov
ADDED
data/ChangeLog
ADDED
@@ -0,0 +1,508 @@
|
|
1
|
+
2014-03-17 Mahlon E. Smith <mahlon@laika.com>
|
2
|
+
|
3
|
+
* USAGE.rdoc:
|
4
|
+
English, do you speak it?
|
5
|
+
[7297d2999838] [tip]
|
6
|
+
|
7
|
+
2014-03-17 Mahlon E. Smith <mahlon@martini.nu>
|
8
|
+
|
9
|
+
* README.rdoc, USAGE.rdoc, lib/symphony/routing.rb:
|
10
|
+
Clean up the README a little, add a USAGE document (that may evolve
|
11
|
+
into a manual later), and allow the #on method in the routing plugin
|
12
|
+
to accept an array of binding topics.
|
13
|
+
[694dfa71528f] [github/master]
|
14
|
+
|
15
|
+
2014-03-15 Mahlon E. Smith <mahlon@martini.nu>
|
16
|
+
|
17
|
+
* Manifest.txt, Rakefile, experiments/mailer_task.rb,
|
18
|
+
lib/symphony/tasks/messaging.rb:
|
19
|
+
Require a recent rubygems to fix a metriks issue with the hitimes
|
20
|
+
dependency. Remove accidentally committed messaging task, a (nearly)
|
21
|
+
empty mailer experiment, and an internal rdoc server location.
|
22
|
+
[8b74abf2494f]
|
23
|
+
|
24
|
+
2014-03-14 Michael Granger <ged@FaerieMUD.org>
|
25
|
+
|
26
|
+
* experiments/ps-publisher.rb:
|
27
|
+
Add an example publisher with some interestingish test data
|
28
|
+
[b671046cb46a]
|
29
|
+
|
30
|
+
* lib/symphony/tasks/auditor.rb,
|
31
|
+
lib/symphony/tasks/failure_logger.rb,
|
32
|
+
lib/symphony/tasks/simulator.rb:
|
33
|
+
Explicitly name queues, clean up the simple task types
|
34
|
+
[9be720b141c5]
|
35
|
+
|
36
|
+
* lib/symphony/queue.rb:
|
37
|
+
Simplify the queue configuration
|
38
|
+
[506e35c44fb7]
|
39
|
+
|
40
|
+
* lib/symphony/routing.rb:
|
41
|
+
Fix routing mixin
|
42
|
+
[0e1a756a8c72]
|
43
|
+
|
44
|
+
* .autotest, Manifest.txt, bin/gctask, bin/gcworkerd,
|
45
|
+
bin/symphony, bin/symphony-task,
|
46
|
+
lib/symphony/task.rb, lib/symphony/tasks/simulator.rb:
|
47
|
+
Checkpoint of work on timeout; renamed binaries
|
48
|
+
[6b0655dc6892]
|
49
|
+
|
50
|
+
* .rvm.gems, Rakefile, lib/symphony/metrics.rb,
|
51
|
+
lib/symphony/routing.rb, lib/symphony/task.rb,
|
52
|
+
lib/symphony/tasks/auditor.rb,
|
53
|
+
lib/symphony/tasks/failure_logger.rb,
|
54
|
+
lib/symphony/tasks/simulator.rb:
|
55
|
+
Checkpoint before adding timeout
|
56
|
+
[c1a33bbb4490]
|
57
|
+
|
58
|
+
2014-03-13 Michael Granger <ged@FaerieMUD.org>
|
59
|
+
|
60
|
+
* lib/symphony/queue.rb, lib/symphony/signal_handling.rb,
|
61
|
+
lib/symphony/task.rb:
|
62
|
+
Implement task restart on SIGHUP
|
63
|
+
[1b4d965d8d48]
|
64
|
+
|
65
|
+
* .hgignore:
|
66
|
+
Ignore logfiles
|
67
|
+
[9a8bf7a02a7b]
|
68
|
+
|
69
|
+
* lib/symphony/tasks/auditor.rb,
|
70
|
+
lib/symphony/tasks/failure_logger.rb,
|
71
|
+
lib/symphony/tasks/simulator.rb:
|
72
|
+
Add some basic task types: work simulator, audit logger, failure
|
73
|
+
logger
|
74
|
+
[49b034c13f78]
|
75
|
+
|
76
|
+
* etc/config.yml.example:
|
77
|
+
Add an example config
|
78
|
+
[970e15eafad9]
|
79
|
+
|
80
|
+
2014-03-12 Mahlon E. Smith <mahlon@martini.nu>
|
81
|
+
|
82
|
+
* lib/symphony/queue.rb:
|
83
|
+
Retain the exchange -> queue binding for pre-existing queues.
|
84
|
+
[bc11d76f7ef7]
|
85
|
+
|
86
|
+
2014-03-12 Michael Granger <ged@FaerieMUD.org>
|
87
|
+
|
88
|
+
* lib/symphony/queue.rb, lib/symphony/task.rb,
|
89
|
+
lib/symphony/tasks/auditor.rb:
|
90
|
+
Checkpoint commit of AMQP work
|
91
|
+
[3ec6040c9e98]
|
92
|
+
|
93
|
+
* lib/symphony/queue.rb:
|
94
|
+
Use a class-instance variable instead of thread-local for AMQP
|
95
|
+
objects
|
96
|
+
[6401e5aedf57]
|
97
|
+
|
98
|
+
* lib/symphony/queue.rb:
|
99
|
+
Re-raise errors from Bunny while handling messages
|
100
|
+
[384ab73d9b7f]
|
101
|
+
|
102
|
+
2014-03-11 Michael Granger <ged@FaerieMUD.org>
|
103
|
+
|
104
|
+
* lib/symphony/queue.rb, lib/symphony/task.rb,
|
105
|
+
lib/symphony/tasks/auditor.rb,
|
106
|
+
spec/symphony/queue_spec.rb:
|
107
|
+
Checkpoint of work on work model, subscription
|
108
|
+
[b023dab4997c]
|
109
|
+
|
110
|
+
* .hgignore, History.rdoc, Manifest.txt, Rakefile, bin/gctask,
|
111
|
+
lib/symphony/daemon.rb, lib/symphony/queue.rb,
|
112
|
+
lib/symphony/signal_handling.rb, lib/symphony/task.rb,
|
113
|
+
lib/symphony/tasks/auditor.rb,
|
114
|
+
lib/symphony/tasks/messaging.rb,
|
115
|
+
spec/symphony/mixins_spec.rb, spec/symphony/queue_spec.rb,
|
116
|
+
spec/symphony/task_spec.rb, spec/symphony_spec.rb:
|
117
|
+
Checkpoint commit.
|
118
|
+
[e86edf8ff23c]
|
119
|
+
|
120
|
+
2014-03-03 Michael Granger <ged@FaerieMUD.org>
|
121
|
+
|
122
|
+
* .rvm.gems, Rakefile, experiments/mailer_task.rb,
|
123
|
+
lib/symphony/queue.rb, lib/symphony/task.rb,
|
124
|
+
lib/symphony/tasks/pinger.rb, spec/symphony/queue_spec.rb,
|
125
|
+
spec/symphony/task_spec.rb, spec/helpers.rb:
|
126
|
+
Checkpoint of the work from this morning
|
127
|
+
[5c8021195e16]
|
128
|
+
|
129
|
+
2014-02-18 Michael Granger <ged@FaerieMUD.org>
|
130
|
+
|
131
|
+
* .pryrc, .rvm.gems, .rvmrc, .simplecov, Manifest.txt, README.rdoc,
|
132
|
+
Rakefile, bin/gcworkerd, experiments/.foreman, experiments/Procfile,
|
133
|
+
experiments/consumer-sketch.rb, experiments/mailer_task.rb,
|
134
|
+
experiments/producer-sketch.rb, experiments/ssh_system.rb,
|
135
|
+
experiments/test_script.sh, lib/symphony.rb,
|
136
|
+
lib/symphony/daemon.rb, lib/symphony/mixins.rb,
|
137
|
+
lib/symphony/queue.rb, lib/symphony/signal_handling.rb,
|
138
|
+
lib/symphony/task.rb, lib/symphony/tasks/pinger.rb,
|
139
|
+
lib/symphony/tasks/ssh.rb,
|
140
|
+
lib/symphony/tasks/sshscript.rb, lib/laika/symphony.rb,
|
141
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
142
|
+
lib/laika/symphony/task.rb,
|
143
|
+
lib/laika/symphony/tasks/pinger.rb,
|
144
|
+
lib/laika/symphony/tasks/ssh.rb,
|
145
|
+
lib/laika/symphony/tasks/sshscript.rb,
|
146
|
+
lib/laika/symphony/worker.rb,
|
147
|
+
spec/symphony/mixins_spec.rb, spec/symphony/queue_spec.rb,
|
148
|
+
spec/symphony_spec.rb, spec/helpers.rb,
|
149
|
+
spec/laika/symphony/job_spec.rb,
|
150
|
+
spec/laika/symphony/queue_spec.rb,
|
151
|
+
spec/laika/symphony/task_spec.rb,
|
152
|
+
spec/laika/symphony_spec.rb,
|
153
|
+
spec/lib/symphonyconstants.rb,
|
154
|
+
spec/lib/symphonyhelpers.rb:
|
155
|
+
Checkpoint of the weekend's work
|
156
|
+
[4d3da7e3530b]
|
157
|
+
|
158
|
+
2012-11-06 Michael Granger <ged@FaerieMUD.org>
|
159
|
+
|
160
|
+
* .rvm.gems, Rakefile:
|
161
|
+
Bump dependencies
|
162
|
+
[c3602949056c]
|
163
|
+
|
164
|
+
2012-10-17 Michael Granger <ged@FaerieMUD.org>
|
165
|
+
|
166
|
+
* .rvm.gems:
|
167
|
+
Bump the laika-ldap version in the RVM gemset
|
168
|
+
[03934b446cbf]
|
169
|
+
|
170
|
+
2012-10-09 Michael Granger <ged@FaerieMUD.org>
|
171
|
+
|
172
|
+
* .rvm.gems:
|
173
|
+
Bump laika-ldap version in rvm gems
|
174
|
+
[314934c7b53c]
|
175
|
+
|
176
|
+
2012-09-24 Michael Granger <ged@FaerieMUD.org>
|
177
|
+
|
178
|
+
* lib/laika/symphony/tasks/sshscript.rb:
|
179
|
+
Adding a 'nocleanup' option to the sshscript task class.
|
180
|
+
|
181
|
+
This is to enable easy troubleshooting; just re-run a failing
|
182
|
+
sshscript-based task with 'nocleanup' enabled, then the script will
|
183
|
+
be preserved on the remote side after it runs.
|
184
|
+
[0b84cb38b9ec]
|
185
|
+
|
186
|
+
2012-09-19 Michael Granger <ged@FaerieMUD.org>
|
187
|
+
|
188
|
+
* .hgtags:
|
189
|
+
Added tag v0.1.0 for changeset 3027c0e32c9a
|
190
|
+
[7615c18e3f34]
|
191
|
+
|
192
|
+
* .hgsigs:
|
193
|
+
Added signature for changeset 34b213a4b895
|
194
|
+
[3027c0e32c9a] [v0.1.0]
|
195
|
+
|
196
|
+
* History.rdoc, lib/laika/symphony.rb,
|
197
|
+
spec/laika/symphony/job_spec.rb:
|
198
|
+
Bump the minor version, update history.
|
199
|
+
[34b213a4b895]
|
200
|
+
|
201
|
+
* bin/gcworkerd, lib/laika/symphony/task.rb,
|
202
|
+
lib/laika/symphony/worker.rb:
|
203
|
+
Adding beginnings of worker throttling.
|
204
|
+
[399117e719ba]
|
205
|
+
|
206
|
+
* .rvm.gems, Rakefile:
|
207
|
+
Updating dependencies
|
208
|
+
[9ea265531f5c]
|
209
|
+
|
210
|
+
2012-09-06 Michael Granger <ged@FaerieMUD.org>
|
211
|
+
|
212
|
+
* .hgtags:
|
213
|
+
Added tag v0.0.1 for changeset 82d1fc26369f
|
214
|
+
[c438bca87c28]
|
215
|
+
|
216
|
+
* .hgsigs:
|
217
|
+
Added signature for changeset ea9a4eb4ef02
|
218
|
+
[82d1fc26369f] [v0.0.1]
|
219
|
+
|
220
|
+
* Manifest.txt, bin/symphony:
|
221
|
+
Remove the bin/symphony stub.
|
222
|
+
[ea9a4eb4ef02]
|
223
|
+
|
224
|
+
2012-08-20 Michael Granger <ged@FaerieMUD.org>
|
225
|
+
|
226
|
+
* bin/gcworkerd:
|
227
|
+
Use the configured path to the config file, not the one from ARGV
|
228
|
+
[2e635ab669f0]
|
229
|
+
|
230
|
+
* bin/gcworkerd:
|
231
|
+
Configure gcworkerd via command-line options instead of the config
|
232
|
+
file
|
233
|
+
[797bd5264597]
|
234
|
+
|
235
|
+
* bin/gcworkerd:
|
236
|
+
Fix gem binary invocation.
|
237
|
+
[e113c95b9f39]
|
238
|
+
|
239
|
+
* lib/laika/symphony.rb, lib/laika/symphony/task.rb:
|
240
|
+
Documentation update/fixes
|
241
|
+
[e169ebcecff7]
|
242
|
+
|
243
|
+
2012-08-18 Michael Granger <ged@FaerieMUD.org>
|
244
|
+
|
245
|
+
* .rvm.gems, Rakefile:
|
246
|
+
Bump laika-base dependency
|
247
|
+
[a66a334650d2]
|
248
|
+
|
249
|
+
* lib/laika/symphony/tasks/sshscript.rb:
|
250
|
+
Turn off ssh protocol debugging in sshscript task
|
251
|
+
[a7a23ebb2927]
|
252
|
+
|
253
|
+
2012-08-17 Michael Granger <ged@FaerieMUD.org>
|
254
|
+
|
255
|
+
* README.rdoc:
|
256
|
+
README fix
|
257
|
+
[20aae4ccec08]
|
258
|
+
|
259
|
+
* lib/laika/symphony/tasks/ssh.rb:
|
260
|
+
Small fixes for ssh task:
|
261
|
+
|
262
|
+
- Use features
|
263
|
+
- Use the fqdn instead of the simple hostname for the ssh command
|
264
|
+
- Log the command shelljoined for easy testing.
|
265
|
+
[59ce700da89b]
|
266
|
+
|
267
|
+
2012-08-16 Michael Granger <ged@FaerieMUD.org>
|
268
|
+
|
269
|
+
* lib/laika/symphony/queue.rb, lib/laika/symphony/worker.rb:
|
270
|
+
Logging tweaks to Queues and Workers
|
271
|
+
[07abd8d84699]
|
272
|
+
|
273
|
+
* lib/laika/symphony/tasks/sshscript.rb:
|
274
|
+
Write sshscripts to local /tmp instead of (possibly network) homedir
|
275
|
+
[02c3cb736d43]
|
276
|
+
|
277
|
+
* bin/gcworkerd:
|
278
|
+
Fix select() to not poll in gcworkerd
|
279
|
+
[081f8b6c55cc]
|
280
|
+
|
281
|
+
* .rvm.gems, bin/gcworkerd, spec/laika/symphony/queue_spec.rb,
|
282
|
+
spec/laika/symphony/task_spec.rb:
|
283
|
+
Convert specs to use the update setup_test_database().
|
284
|
+
[bcb8893fbd6a]
|
285
|
+
|
286
|
+
* .rvm.gems, Rakefile:
|
287
|
+
Updating dependencies.
|
288
|
+
[a230af71e731]
|
289
|
+
|
290
|
+
* lib/laika/symphony/job.rb,
|
291
|
+
spec/laika/symphony/job_spec.rb:
|
292
|
+
Explicitly serialize Job#task_options instead of relying on the
|
293
|
+
flaky serialization plugin.
|
294
|
+
[54c014ed337b]
|
295
|
+
|
296
|
+
* lib/laika/symphony/worker.rb:
|
297
|
+
Refactor the child part of Symphony::Worker.start into methods
|
298
|
+
[89621596bf88]
|
299
|
+
|
300
|
+
2012-08-15 Michael Granger <ged@FaerieMUD.org>
|
301
|
+
|
302
|
+
* experiments/producer-sketch.rb, lib/laika/symphony.rb,
|
303
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
304
|
+
lib/laika/symphony/task.rb,
|
305
|
+
lib/laika/symphony/tasks/pinger.rb,
|
306
|
+
lib/laika/symphony/tasks/ssh.rb,
|
307
|
+
lib/laika/symphony/tasks/sshscript.rb,
|
308
|
+
spec/laika/symphony/queue_spec.rb,
|
309
|
+
spec/laika/symphony/task_spec.rb:
|
310
|
+
More work on the Job and Task classes.
|
311
|
+
|
312
|
+
- Simplified job/task arguments to always be a hash of options,
|
313
|
+
renamed to task_options to reflect this.
|
314
|
+
- Pulled some utility methods up from concrete Task classes for
|
315
|
+
pinging remote hosts, expanding hostnames to fqdns, etc.
|
316
|
+
- Refactored existing base task types to use the new refactored
|
317
|
+
methods.
|
318
|
+
[6ae7216e907e]
|
319
|
+
|
320
|
+
2012-08-15 Mahlon E. Smith <mahlon@laika.com>
|
321
|
+
|
322
|
+
* bin/gcworkerd, lib/laika/symphony/job.rb,
|
323
|
+
lib/laika/symphony/task.rb,
|
324
|
+
lib/laika/symphony/tasks/pinger.rb,
|
325
|
+
lib/laika/symphony/tasks/ssh.rb:
|
326
|
+
Checkpoint of yesterday's work.
|
327
|
+
[b46ef27c763e]
|
328
|
+
|
329
|
+
2012-08-13 Michael Granger <ged@FaerieMUD.org>
|
330
|
+
|
331
|
+
* lib/laika/symphony/tasks/sshscript.rb:
|
332
|
+
Whitespace fixes
|
333
|
+
[c08e4416dfd7]
|
334
|
+
|
335
|
+
2012-08-07 Michael Granger <ged@FaerieMUD.org>
|
336
|
+
|
337
|
+
* .hgignore, .rvm.gems, Rakefile, lib/laika/symphony/task.rb,
|
338
|
+
spec/laika/symphony/task_spec.rb,
|
339
|
+
spec/lib/symphonyhelpers.rb:
|
340
|
+
Add a spec to cover Task#on_error.
|
341
|
+
[cfa2126c2879]
|
342
|
+
|
343
|
+
2012-08-06 Michael Granger <ged@FaerieMUD.org>
|
344
|
+
|
345
|
+
* .hgignore, README.rdoc, Rakefile, bin/gcworkerd, experiments
|
346
|
+
/producer-sketch.rb, experiments/test_script.sh,
|
347
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
348
|
+
lib/laika/symphony/task.rb,
|
349
|
+
lib/laika/symphony/tasks/pinger.rb,
|
350
|
+
lib/laika/symphony/tasks/ssh.rb,
|
351
|
+
lib/laika/symphony/tasks/sshscript.rb,
|
352
|
+
lib/laika/symphony/worker.rb:
|
353
|
+
Documentation and consistency updates.
|
354
|
+
|
355
|
+
- Wrote initial API docs for Task, Worker, Job, and Queue.
|
356
|
+
- Updated the pinger side of the producer sketch, and then rewrote the
|
357
|
+
sshscript side to use Queue#add.
|
358
|
+
- Renamed Pinger#unavailable to #problem.
|
359
|
+
- Consolidated SSHScript task logic to its #run method for easier
|
360
|
+
inheritance/consistency.
|
361
|
+
[f0a7bfc7ea6a]
|
362
|
+
|
363
|
+
* bin/gcworkerd:
|
364
|
+
Remove more debugging noise
|
365
|
+
[aa04b9a1590b]
|
366
|
+
|
367
|
+
2012-08-02 Michael Granger <ged@FaerieMUD.org>
|
368
|
+
|
369
|
+
* .rvm.gems, Manifest.txt, Rakefile, lib/laika/symphony/job.rb,
|
370
|
+
lib/laika/symphony/queue.rb,
|
371
|
+
lib/laika/symphony/tasks/sshscript.rb,
|
372
|
+
lib/laika/symphony/worker.rb:
|
373
|
+
Finish up the initial implementation of the ssh-based task classes.
|
374
|
+
[5d9192bcfb71]
|
375
|
+
|
376
|
+
* bin/gcworkerd:
|
377
|
+
Remove the explicit debug logging from gcworkerd
|
378
|
+
[2d52fc8a521c]
|
379
|
+
|
380
|
+
* experiments/producer-sketch.rb, experiments/test_script.sh:
|
381
|
+
Update the producer experiment to use the ssh-script task
|
382
|
+
[80a0d6635300]
|
383
|
+
|
384
|
+
* lib/laika/symphony/tasks/ssh.rb:
|
385
|
+
Use Ruby1.9 spawn instead of Open3 for the SSH task's pipe
|
386
|
+
[d6ab8ee0d6cc]
|
387
|
+
|
388
|
+
* lib/laika/symphony/tasks/pinger.rb:
|
389
|
+
Fix require in Pinger task
|
390
|
+
[dd2170ed86d3]
|
391
|
+
|
392
|
+
* experiments/ssh_system.rb:
|
393
|
+
Adding an experiment
|
394
|
+
[2f8a6c7173e0]
|
395
|
+
|
396
|
+
* bin/gcworkerd:
|
397
|
+
Fixed child cleanup in the gcworkerd (pair: mahlon)
|
398
|
+
[40d2447fd704]
|
399
|
+
|
400
|
+
2012-08-02 Mahlon E. Smith <mahlon@laika.com>
|
401
|
+
|
402
|
+
* experiments/producer-sketch.rb, lib/laika/symphony/queue.rb,
|
403
|
+
lib/laika/symphony/tasks/pinger.rb,
|
404
|
+
lib/laika/symphony/tasks/ssh.rb,
|
405
|
+
lib/laika/symphony/tasks/sshscript.rb:
|
406
|
+
Checkpoint commit of ssh Symphony tasks.
|
407
|
+
[dff259b79441]
|
408
|
+
|
409
|
+
2012-07-31 Mahlon E. Smith <mahlon@laika.com>
|
410
|
+
|
411
|
+
* bin/gcworkerd, experiments/producer-sketch.rb,
|
412
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
413
|
+
lib/laika/symphony/task.rb,
|
414
|
+
lib/laika/symphony/tasks/pinger.rb,
|
415
|
+
lib/laika/symphony/worker.rb,
|
416
|
+
spec/laika/symphony/job_spec.rb,
|
417
|
+
spec/laika/symphony/task_spec.rb:
|
418
|
+
Small, misc updates:
|
419
|
+
|
420
|
+
- Small whitespace and comment fixes.
|
421
|
+
- Alter the producer sketch to accept a single host.
|
422
|
+
- Remove the #on_startup API requirement for tasks -- there may not be
|
423
|
+
any setup a task needs to perform, so it seems odd to make that
|
424
|
+
mandatory.
|
425
|
+
- Small display fix for task class names.
|
426
|
+
- Finished up the pinger example task.
|
427
|
+
- Ensure jobs are destroyed/removed on script errors
|
428
|
+
[1ca5aaeb1ed7]
|
429
|
+
|
430
|
+
2012-07-30 Michael Granger <ged@FaerieMUD.org>
|
431
|
+
|
432
|
+
* bin/gcworkerd, lib/laika/symphony/worker.rb:
|
433
|
+
Remove spammy debugging; set application name
|
434
|
+
[90b8cd19faa7]
|
435
|
+
|
436
|
+
* bin/gcworkerd, lib/laika/symphony/worker.rb:
|
437
|
+
Fix signal-handling in gcworkerd
|
438
|
+
[34509c739e1b]
|
439
|
+
|
440
|
+
* .rvm.gems, bin/gcworkerd, lib/laika/symphony.rb,
|
441
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
442
|
+
lib/laika/symphony/task.rb,
|
443
|
+
lib/laika/symphony/tasks/pinger.rb,
|
444
|
+
lib/laika/symphony/worker.rb,
|
445
|
+
spec/laika/symphony/job_spec.rb,
|
446
|
+
spec/laika/symphony/task_spec.rb:
|
447
|
+
Adding first whack at gcworkerd and Task class
|
448
|
+
[3ea444e5997d]
|
449
|
+
|
450
|
+
2012-07-27 Michael Granger <ged@FaerieMUD.org>
|
451
|
+
|
452
|
+
* .rvm.gems, Rakefile, bin/gcworkerd, experiments/consumer-sketch.rb,
|
453
|
+
experiments/producer-sketch.rb, lib/laika/symphony.rb,
|
454
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
455
|
+
lib/laika/symphony/task.rb,
|
456
|
+
lib/laika/symphony/tasks/pinger.rb,
|
457
|
+
spec/laika/symphony/job_spec.rb,
|
458
|
+
spec/laika/symphony/queue_spec.rb,
|
459
|
+
spec/laika/symphony/task_spec.rb:
|
460
|
+
Snapshot of Thursday's work.
|
461
|
+
[e8da1957a10d]
|
462
|
+
|
463
|
+
2012-07-26 Michael Granger <ged@FaerieMUD.org>
|
464
|
+
|
465
|
+
* .rvm.gems, Rakefile, experiments/consumer-sketch.rb, experiments
|
466
|
+
/producer-sketch.rb, lib/laika/symphony/job.rb,
|
467
|
+
lib/laika/symphony/queue.rb:
|
468
|
+
Fix queueing logic and update the experiments
|
469
|
+
[7a3609d96123]
|
470
|
+
|
471
|
+
2012-07-25 Michael Granger <ged@FaerieMUD.org>
|
472
|
+
|
473
|
+
* .hgignore, .rvm.gems, .tm_properties, Manifest.txt,
|
474
|
+
experiments/.foreman, experiments/Procfile, experiments/consumer-
|
475
|
+
sketch.rb, experiments/producer-sketch.rb, experiments/sketch.rb,
|
476
|
+
lib/laika/symphony.rb, lib/laika/symphony/job.rb,
|
477
|
+
lib/laika/symphony/queue.rb,
|
478
|
+
spec/laika/symphony/job_spec.rb,
|
479
|
+
spec/laika/symphony/queue_spec.rb:
|
480
|
+
Checkpoint commit of afternoon's work (pair: mhix)
|
481
|
+
[501304e7ae7b]
|
482
|
+
|
483
|
+
* experiments/sketch.rb, lib/laika/symphony.rb,
|
484
|
+
lib/laika/symphony/job.rb, lib/laika/symphony/queue.rb,
|
485
|
+
spec/laika/symphony/job_spec.rb,
|
486
|
+
spec/laika/symphony_spec.rb,
|
487
|
+
spec/lib/symphonyconstants.rb,
|
488
|
+
spec/lib/symphonyhelpers.rb:
|
489
|
+
Checkpoint commit of morning's work (pair: mhix)
|
490
|
+
[8cea2906f4fa]
|
491
|
+
|
492
|
+
* .pryrc:
|
493
|
+
Updating pryrc
|
494
|
+
[69a954ee8bb9]
|
495
|
+
|
496
|
+
* .rvm.gems, .rvmrc, Rakefile:
|
497
|
+
Bumping laika-db dependency version
|
498
|
+
[f2cff3435f39]
|
499
|
+
|
500
|
+
2012-07-24 Michael Granger <ged@FaerieMUD.org>
|
501
|
+
|
502
|
+
* .autotest, .hgignore, .irbrc, .pryrc, History.rdoc, Manifest.txt,
|
503
|
+
README.rdoc, Rakefile, bin/symphony,
|
504
|
+
lib/laika/symphony.rb, spec/laika/symphony_spec.rb,
|
505
|
+
spec/lib/symphonyconstants.rb,
|
506
|
+
spec/lib/symphonyhelpers.rb:
|
507
|
+
Initial project boilerplate
|
508
|
+
[99fbce8884cd]
|
data/History.rdoc
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
== v0.3.0 []
|
2
|
+
|
3
|
+
Rewritten for AMQP (and possibly other similar message buses)
|
4
|
+
|
5
|
+
|
6
|
+
== v0.1.0 [2012-09-19] Michael Granger <ged@FaerieMUD.org>
|
7
|
+
|
8
|
+
- Added beginnings of worker throttling.
|
9
|
+
- Updating dependencies
|
10
|
+
|
11
|
+
|
12
|
+
== v0.0.1 [2012-07-24] Michael Granger <mgranger@laika.com>
|
13
|
+
|
14
|
+
Initial release.
|
15
|
+
|
data/Manifest.txt
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
.simplecov
|
2
|
+
ChangeLog
|
3
|
+
History.rdoc
|
4
|
+
Manifest.txt
|
5
|
+
README.rdoc
|
6
|
+
Rakefile
|
7
|
+
TODO.md
|
8
|
+
USAGE.rdoc
|
9
|
+
bin/symphony
|
10
|
+
bin/symphony-task
|
11
|
+
etc/config.yml.example
|
12
|
+
lib/symphony.rb
|
13
|
+
lib/symphony/daemon.rb
|
14
|
+
lib/symphony/metrics.rb
|
15
|
+
lib/symphony/mixins.rb
|
16
|
+
lib/symphony/queue.rb
|
17
|
+
lib/symphony/routing.rb
|
18
|
+
lib/symphony/signal_handling.rb
|
19
|
+
lib/symphony/task.rb
|
20
|
+
lib/symphony/tasks/auditor.rb
|
21
|
+
lib/symphony/tasks/failure_logger.rb
|
22
|
+
lib/symphony/tasks/pinger.rb
|
23
|
+
lib/symphony/tasks/simulator.rb
|
24
|
+
lib/symphony/tasks/ssh.rb
|
25
|
+
lib/symphony/tasks/sshscript.rb
|
26
|
+
spec/symphony/mixins_spec.rb
|
27
|
+
spec/symphony/queue_spec.rb
|
28
|
+
spec/symphony/task_spec.rb
|
29
|
+
spec/symphony_spec.rb
|
30
|
+
spec/helpers.rb
|
data/README.rdoc
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
= symphony
|
2
|
+
|
3
|
+
wiki:: http://bitbucket.org/ged/symphony
|
4
|
+
docs:: http://deveiate.org/code/symphony
|
5
|
+
|
6
|
+
|
7
|
+
== Description
|
8
|
+
|
9
|
+
Symphony is a subscription-based asynchronous job system. It
|
10
|
+
allows you to define jobs that watch for lightweight events from a
|
11
|
+
distributed-messaging AMQP broker, and do work based on their payload.
|
12
|
+
|
13
|
+
It includes several executables under bin/:
|
14
|
+
|
15
|
+
symphony::
|
16
|
+
A daemon which manages startup and shutdown of one or more Workers
|
17
|
+
running Tasks as they are published from a queue.
|
18
|
+
|
19
|
+
symphony-task::
|
20
|
+
A wrapper that runs a single task, useful for testing, or if you don't
|
21
|
+
require the process management that the symphony daemon provides.
|
22
|
+
|
23
|
+
|
24
|
+
== Synopsis
|
25
|
+
|
26
|
+
class WorkerTask < Symphony::Task
|
27
|
+
# Process all events
|
28
|
+
subscribe_to '#'
|
29
|
+
|
30
|
+
def work( payload, metadata )
|
31
|
+
puts "I got a payload! %p" % [ payload ]
|
32
|
+
return true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
For a more detailed description of usage, please refer to the USAGE document.
|
38
|
+
|
39
|
+
|
40
|
+
== Installation
|
41
|
+
|
42
|
+
gem install symphony
|
43
|
+
|
44
|
+
|
45
|
+
== Contributing
|
46
|
+
|
47
|
+
You can check out the current development source with Mercurial via its
|
48
|
+
{project page}[http://bitbucket.org/ged/symphony]. Or if you prefer Git, via
|
49
|
+
{its Github mirror}[https://github.com/ged/symphony].
|
50
|
+
|
51
|
+
After checking out the source, run:
|
52
|
+
|
53
|
+
$ rake newb
|
54
|
+
|
55
|
+
This task will install any missing dependencies, run the tests/specs,
|
56
|
+
and generate the API documentation.
|
57
|
+
|
58
|
+
|
59
|
+
== License
|
60
|
+
|
61
|
+
Copyright (c) 2011-2014, Michael Granger and Mahlon E. Smith
|
62
|
+
All rights reserved.
|
63
|
+
|
64
|
+
Redistribution and use in source and binary forms, with or without
|
65
|
+
modification, are permitted provided that the following conditions are met:
|
66
|
+
|
67
|
+
* Redistributions of source code must retain the above copyright notice,
|
68
|
+
this list of conditions and the following disclaimer.
|
69
|
+
|
70
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
71
|
+
this list of conditions and the following disclaimer in the documentation
|
72
|
+
and/or other materials provided with the distribution.
|
73
|
+
|
74
|
+
* Neither the name of the author/s, nor the names of the project's
|
75
|
+
contributors may be used to endorse or promote products derived from this
|
76
|
+
software without specific prior written permission.
|
77
|
+
|
78
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
79
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
80
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
81
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
82
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
83
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
84
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
85
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
86
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
87
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
88
|
+
|
89
|
+
|