symphony 0.3.0.pre20140327204419

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 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
+