symphony 0.3.0.pre20140327204419

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,9 @@
1
+ # Simplecov config
2
+
3
+ SimpleCov.start do
4
+ add_filter 'spec'
5
+ add_filter 'integration'
6
+ add_group "Needing tests" do |file|
7
+ file.covered_percent < 90
8
+ end
9
+ end
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
+